time="2024-05-23T09:58:34Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-authentication-1 Creating Container integration-test-gateway-1 Creating Container integration-test-device-1 Creating Container integration-test-experiment-1 Creating Container integration-test-federation-1 Creating Container integration-test-authorization-1 Creating Container integration-test-authorization-1 Created Container integration-test-gateway-1 Created Container integration-test-federation-1 Created Container integration-test-device-1 Created Container integration-test-authentication-1 Created Container integration-test-experiment-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-05-23T09:59:16Z"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"client_addr":"127.0.0.1:39214","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-05-23T09:59:16Z"} authorization-1 | {"client_addr":"127.0.0.1:39214","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.30025,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:16Z"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1716458356.7323759} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1716458356.7324789} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1716458356.7325022} 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":1716458356.7325313} 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":1716458356.732554} 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":1716458356.7326035,"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":1716458356.7601388} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1716458356.7611277} 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:50978","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-05-23T09:59:16.781497977Z","id":"01HYJE801DQMFAVWBA5QZ17MQS","name":"crosslab","updated_at":"2024-05-23T09:59:16.781497977Z"},"request_id":"3e42f9e2-8117-41de-b823-82e5270c39fb","subsystem":"openfga","timestamp":1716458356.7816105} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.64.1/opa_linux_amd64","latest_version":"0.64.1","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.64.1","subsystem":"opa","time":"2024-05-23T09:59:16Z"} 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:50978","raw_request":{"schema_version":"1.1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01HYJE804GKKBM5RWJJERZXYYW"},"request_id":"87af348a-0a2e-4486-88f9-3ea5767030dc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458356.8809903} authorization-1 | {"client_addr":"127.0.0.1:39214","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-05-23T09:59:16Z"} authorization-1 | {"client_addr":"127.0.0.1:39214","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.274981,"resp_status":204,"subsystem":"opa","time":"2024-05-23T09:59:16Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} gateway-1 | {"time_local":"23/May/2024:09:59:26 +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.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"881be0a9aeab4e59513c3cab2d821ee9"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 8ms","method":"HEAD","requestID":"881be0a9aeab4e59513c3cab2d821ee9","responseTime":8,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"23/May/2024:09:59:27 +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.021","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"bb4ff1fc21a1df18eeae2c4f5c3221cd"} device-1 | {"level":"info","message":"HEAD /device/status 200 13ms","method":"HEAD","requestID":"23e02cd0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"23/May/2024:09:59:27 +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.008","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"2610ad59e56f532e39deec7f1e0cf919"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 3ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"2610ad59e56f532e39deec7f1e0cf919"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"23/May/2024:09:59:27 +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.042","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"cc60a60b1ea45fe9e235a294667f7c2e"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 11ms","method":"HEAD","requestID":"23ea6600-18eb-11ef-9223-e1fa9179bf5f","responseTime":11,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"23/May/2024:09:59:27 +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.013","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"9d07c86d5539509c259fe267df64dcc3"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 9ms","method":"HEAD","requestID":"23ed9a50-18eb-11ef-b198-9174017f2728","responseTime":9,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"23/May/2024:09:59:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e409366241cd21562ddeea1c4e2c1ee"} authentication-1 | {"level":"info","message":"POST /login 201 108ms","method":"POST","requestID":"7e409366241cd21562ddeea1c4e2c1ee","responseTime":108,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3MH0.WZx8WDJdBlXLaLDg7uf7dCytjNcb_vltPbnSNqSmv7g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"08b1a03ff3b9f01aa8c6387505506cc1","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.182014,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458370,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3MH0.WZx8WDJdBlXLaLDg7uf7dCytjNcb_vltPbnSNqSmv7g"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08b1a03ff3b9f01aa8c6387505506cc1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9f39751c-f589-4c23-8cda-5b5988d889f4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458371.1436105} 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":"08b1a03ff3b9f01aa8c6387505506cc1"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3276ef48-2df0-4a37-9ece-35be79d32ad4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458371.1559694} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08b1a03ff3b9f01aa8c6387505506cc1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"22ecb419-aba4-46a2-a670-b8d6f95ec846","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458371.1707284} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"190ba487-e817-4d68-bc06-953f4586df0c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458371.1716478} 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":"08b1a03ff3b9f01aa8c6387505506cc1"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:31.170709320Z"}]},"request_id":"8587c26e-061c-46bd-abb8-5f4df4432507","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458371.1796744} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08b1a03ff3b9f01aa8c6387505506cc1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.215","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08b1a03ff3b9f01aa8c6387505506cc1"} device-1 | {"level":"info","message":"POST /devices? 201 192ms","method":"POST","requestID":"08b1a03ff3b9f01aa8c6387505506cc1","responseTime":192,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3MX0.-t6hWQGkGGuGW20avUf2RNcLNJn4PJhjoCO4jfEG8ko","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7ab9fad0111a30c658ff1921adfef61a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.802519,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458371,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3MX0.-t6hWQGkGGuGW20avUf2RNcLNJn4PJhjoCO4jfEG8ko"} 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":"7ab9fad0111a30c658ff1921adfef61a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"54a35eca-e8a7-4402-9a04-c06dca5dd8e2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458371.2465358} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ab9fad0111a30c658ff1921adfef61a"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95dcbe87-7906-4710-a714-c53f7b038a27","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458371.2550888} 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":"7ab9fad0111a30c658ff1921adfef61a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"a6e6e864-c115-4dbc-8579-15e8177273ea","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458371.2694266} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3297a0e-e739-452d-849c-8388cd211107","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458371.2695916} 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":"7ab9fad0111a30c658ff1921adfef61a"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:31.269412281Z"}]},"request_id":"2b40f325-502a-4394-be82-e58e87737488","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458371.2775676} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ab9fad0111a30c658ff1921adfef61a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ab9fad0111a30c658ff1921adfef61a"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"7ab9fad0111a30c658ff1921adfef61a","responseTime":57,"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":"da80cac19c0c363d9a87c5d9efdd5460","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":"a0f1a96ab43e92816713098f2e365973","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:09:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/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":"da80cac19c0c363d9a87c5d9efdd5460"} device-1 | {"level":"info","message":"OPTIONS /devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/websocket 200 2ms","method":"OPTIONS","requestID":"da80cac19c0c363d9a87c5d9efdd5460","responseTime":2,"status":200,"url":"/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/websocket"} gateway-1 | {"time_local":"23/May/2024:09:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/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":"a0f1a96ab43e92816713098f2e365973"} device-1 | {"level":"info","message":"OPTIONS /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/websocket 200 2ms","method":"OPTIONS","requestID":"a0f1a96ab43e92816713098f2e365973","responseTime":2,"status":200,"url":"/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3cfb60563634628cd04f9bee342306c1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3d8301ae5885a6278a45376e4961ec5d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726944,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458373,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3cfb60563634628cd04f9bee342306c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.748951,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458373,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d8301ae5885a6278a45376e4961ec5d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3d8301ae5885a6278a45376e4961ec5d"} device-1 | {"level":"info","message":"POST /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/websocket 200 30ms","method":"POST","requestID":"3d8301ae5885a6278a45376e4961ec5d","responseTime":30,"status":200,"url":"/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.063","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3cfb60563634628cd04f9bee342306c1"} device-1 | {"level":"info","message":"POST /devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/websocket 200 56ms","method":"POST","requestID":"3cfb60563634628cd04f9bee342306c1","responseTime":56,"status":200,"url":"/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ab8c22c2e2016e7d063862714d1afc8b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68515,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458373,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab8c22c2e2016e7d063862714d1afc8b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:31.170709320Z"}]},"request_id":"6eecc66c-649a-4975-b516-fb61cde2a962","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458373.8468907} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab8c22c2e2016e7d063862714d1afc8b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab8c22c2e2016e7d063862714d1afc8b"} device-1 | {"level":"info","message":"GET /devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c? 200 22ms","method":"GET","requestID":"ab8c22c2e2016e7d063862714d1afc8b","responseTime":22,"status":200,"url":"/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"123e04e1d4b8dbcb909f71b756088ee3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767658,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458373,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"123e04e1d4b8dbcb909f71b756088ee3"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:31.269412281Z"}]},"request_id":"71260126-1c6c-4009-917d-e35d0a7ba0a2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458373.8769238} 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":"123e04e1d4b8dbcb909f71b756088ee3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"123e04e1d4b8dbcb909f71b756088ee3"} device-1 | {"level":"info","message":"GET /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21? 200 17ms","method":"GET","requestID":"123e04e1d4b8dbcb909f71b756088ee3","responseTime":17,"status":200,"url":"/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"176d983cbe909574797cc5dbc338bad3","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:60464","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.753229,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458373,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE"} 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":"176d983cbe909574797cc5dbc338bad3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"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:60464","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693813,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458373,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE"} 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":"281b8c90-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.204804,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458373,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE"} 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":"281bdab0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:31.170709320Z"}]},"request_id":"e9e0d1fe-6cb0-435a-936d-408392a915e8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.1206355} 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":"281b8c90-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:31.269412281Z"}]},"request_id":"794c0f53-7cba-497e-b5cd-5bffb18658a2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.1292982} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"281bdab0-18eb-11ef-97dd-97826c0d9de9"},"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/27d31cdf-bc53-47ec-b00e-5b4758dda42c? 200 28ms","method":"GET","requestID":"281b8c90-18eb-11ef-97dd-97826c0d9de9","responseTime":28,"status":200,"url":"/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21? 200 30ms","method":"GET","requestID":"281bdab0-18eb-11ef-97dd-97826c0d9de9","responseTime":30,"status":200,"url":"/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"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:60464","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639267,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458373,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE"} 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":"282ca390-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.347588,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458373,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE"} 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":"282ccaa0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.651038,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c17cec45-cb45-4949-a7e3-9b27f77281d1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.2336252} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","object_type":"device","rebac_allow":false,"scope_allow":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":"282d18c0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:31.269412281Z"}]},"request_id":"ca961faf-3324-4ac3-a786-9a401ac2873a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.235708} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"282ccaa0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":31}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:31.170709320Z"}]},"request_id":"12f7846a-8d79-42e8-bb71-b1bb643571ec","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.2642436} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/signaling 200 46ms","method":"POST","requestID":"282d18c0-18eb-11ef-97dd-97826c0d9de9","responseTime":46,"status":200,"url":"/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"282ca390-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F777b39c4-2c3e-47f2-b7de-5edee45c6643#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F777b39c4-2c3e-47f2-b7de-5edee45c6643","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"15402c49-2716-45f9-96ef-82650e9b2778","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.2711284} 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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee7ca3c5-8a17-4ddb-b0e9-cb2c56089be6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.27137} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21? 200 58ms","method":"GET","requestID":"282ccaa0-18eb-11ef-97dd-97826c0d9de9","responseTime":58,"status":200,"url":"/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"176d983cbe909574797cc5dbc338bad3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":46}} device-1 | {"level":"info","message":"GET /devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c? 200 61ms","method":"GET","requestID":"282ca390-18eb-11ef-97dd-97826c0d9de9","responseTime":61,"status":200,"url":"/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eab85081-3168-4665-a360-1bf9446e128a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.2818918} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.5696,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","object_type":"device","rebac_allow":false,"scope_allow":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":"2834e0f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"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:60464","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} device-1 | {"level":"info","message":"POST /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/signaling 200 20ms","method":"POST","requestID":"2834e0f0-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68ed4aeb-8a03-4de1-be43-4a6ca4b4701e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.2929387} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.013088,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.402","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"176d983cbe909574797cc5dbc338bad3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 377ms","method":"POST","requestID":"176d983cbe909574797cc5dbc338bad3","responseTime":377,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","object_type":"device","rebac_allow":false,"scope_allow":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":"28372ae0-18eb-11ef-97dd-97826c0d9de9"},"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/27d31cdf-bc53-47ec-b00e-5b4758dda42c/signaling 200 14ms","method":"POST","requestID":"28372ae0-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2041ef2a6dd8e0797ae501259086aa12","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c16594b-759d-4f43-8847-fccdd3cf5f38","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.3080611} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665658,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.169874,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458374,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2041ef2a6dd8e0797ae501259086aa12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","object_type":"device","rebac_allow":false,"scope_allow":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":"2839c2f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:31.170709320Z"}]},"request_id":"05d40fed-0081-4686-a38a-6415e60f586b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.314547} device-1 | {"level":"info","message":"POST /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/signaling 200 12ms","method":"POST","requestID":"2839c2f0-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/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":"2041ef2a6dd8e0797ae501259086aa12"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"bb83bfcb-36dd-4fd8-8e81-3d43d42a8878"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"479b44d9-bd9e-453d-af25-669ea5a14532"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2e76eabd-4f64-4b79-9742-32ac4a9714af"}]},"level":"info","message":"Built pairwise service configurations"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2041ef2a6dd8e0797ae501259086aa12"} device-1 | {"level":"info","message":"GET /devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c? 200 15ms","method":"GET","requestID":"2041ef2a6dd8e0797ae501259086aa12","responseTime":15,"status":200,"url":"/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"135ec1b574fbc10c4f2e92b580bf8389","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.673413,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458373,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3M30.F3PC5nkjj1WpfcPeg0iU6-Mqai-1ooFcvSPjrYniIqE"} 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":"283d1e50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6357,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458374,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"135ec1b574fbc10c4f2e92b580bf8389"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:31.269412281Z"}]},"request_id":"2d7e5c3b-4528-468e-9761-83f09be0cfee","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.3386235} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"135ec1b574fbc10c4f2e92b580bf8389"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"135ec1b574fbc10c4f2e92b580bf8389"} device-1 | {"level":"info","message":"GET /devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21? 200 15ms","method":"GET","requestID":"135ec1b574fbc10c4f2e92b580bf8389","responseTime":15,"status":200,"url":"/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"9f912b13-a22a-4b0f-9a78-b92effe3bea2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.3509812} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df535d77-95bb-403c-8b23-77828ec2d296","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.3512533} 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":"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":"283d1e50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} 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/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 42ms","method":"POST","requestID":"283d1e50-18eb-11ef-97dd-97826c0d9de9","responseTime":42,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e57ee2c6-150b-4d88-b150-d59209db38c4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.4349964} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.537727,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","object_type":"device","rebac_allow":false,"scope_allow":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":"284cfcd0-18eb-11ef-97dd-97826c0d9de9"},"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/27d31cdf-bc53-47ec-b00e-5b4758dda42c/signaling 200 12ms","method":"POST","requestID":"284cfcd0-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55fb91dd-5f01-49c1-a3c6-1c8045d12a4a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.4510968} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.603554,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","object_type":"device","rebac_allow":false,"scope_allow":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":"284f6dd0-18eb-11ef-97dd-97826c0d9de9"},"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/515dbe6d-0a53-4e7f-be8e-8b7156275d21/signaling 200 13ms","method":"POST","requestID":"284f6dd0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","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":"7e6ac96fb1182588645db03be4975a56","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/27d31cdf-bc53-47ec-b00e-5b4758dda42c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"7e6ac96fb1182588645db03be4975a56","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch","requestID":"7e6ac96fb1182588645db03be4975a56"} device-1 | {"data":{"peerconnection":"91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","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/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","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":"08074d7cbb994e5f11cfd5fbcb549fe3","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/27d31cdf-bc53-47ec-b00e-5b4758dda42c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6dbeb7d7-2573-4d2b-8f82-1b91682ebe82","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.5927927} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.067588,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","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":"28616f30-18eb-11ef-97dd-97826c0d9de9"},"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/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41 200 38ms","method":"GET","requestID":"28616f30-18eb-11ef-97dd-97826c0d9de9","responseTime":38,"status":200,"url":"/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"890f395ab3111c7faf7f52bd31f82059","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.701222,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458374,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM"} 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":"890f395ab3111c7faf7f52bd31f82059"},"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/777b39c4-2c3e-47f2-b7de-5edee45c6643"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"890f395ab3111c7faf7f52bd31f82059"} experiment-1 | {"level":"info","message":"GET /experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643 200 17ms","method":"GET","requestID":"890f395ab3111c7faf7f52bd31f82059","responseTime":17,"status":200,"url":"/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"de396908fd1f46af019cc021a0e9e13e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 74ms","method":"POST","requestID":"08074d7cbb994e5f11cfd5fbcb549fe3","responseTime":74,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.078","http_referrer":"","http_user_agent":"node-fetch","requestID":"08074d7cbb994e5f11cfd5fbcb549fe3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99d28855-5c3c-44eb-8580-29bfc9065013","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.6359448} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.717319,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458374,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM"} 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":"de396908fd1f46af019cc021a0e9e13e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.121686,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"286bcf70-18eb-11ef-97dd-97826c0d9de9"},"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/27d31cdf-bc53-47ec-b00e-5b4758dda42c/signaling 200 12ms","method":"POST","requestID":"286bcf70-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Attempting to finish experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0c304f6-1d8c-44d5-a05e-ae4dd0b02655","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.6529677} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.430093,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","object_type":"device","rebac_allow":false,"scope_allow":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":"286e4070-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.614434,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458374,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM"} 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":"286edcb0-18eb-11ef-97dd-97826c0d9de9"},"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/515dbe6d-0a53-4e7f-be8e-8b7156275d21/signaling 200 13ms","method":"POST","requestID":"286e4070-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","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":"4b8c4f246f11c134edb71c447cc73fab","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c7af3cbef146ef8352216380855f9514","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":"connected","url":"http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"3e56b2b8-75bb-4e20-9c06-315fcb8033c5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.680987} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"617a767a-d4f8-470b-b57e-b0d88e618468","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.6811705} 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":"286edcb0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"peerconnection":"91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41","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/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41 204 47ms","method":"DELETE","requestID":"286edcb0-18eb-11ef-97dd-97826c0d9de9","responseTime":47,"status":204,"url":"/peerconnections/91a5064d-e1a5-4e7c-8f6a-cea0a9c48d41"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27d31cdf-bc53-47ec-b00e-5b4758dda42c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd6ed5c7-70fd-4ce7-934a-09b941afd2d4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.7443771} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":22.358915,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2878eed0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":25}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/signaling 200 33ms","method":"POST","requestID":"2878eed0-18eb-11ef-97dd-97826c0d9de9","responseTime":33,"status":200,"url":"/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F777b39c4-2c3e-47f2-b7de-5edee45c6643': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F777b39c4-2c3e-47f2-b7de-5edee45c6643","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"9c361c4b-931f-4692-b945-0914e8329253","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.7573056} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f15c90a6-a333-44dc-b005-3ff741992ee8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.7579842} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F515dbe6d-0a53-4e7f-be8e-8b7156275d21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e181eb9c-3f86-452f-9758-53969ba22747","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.7601988} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de396908fd1f46af019cc021a0e9e13e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.081269,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21","object_type":"device","rebac_allow":false,"scope_allow":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":"287e6d10-18eb-11ef-97dd-97826c0d9de9"},"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/515dbe6d-0a53-4e7f-be8e-8b7156275d21/signaling 200 14ms","method":"POST","requestID":"287e6d10-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de396908fd1f46af019cc021a0e9e13e"} experiment-1 | {"level":"info","message":"DELETE /experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643 204 183ms","method":"DELETE","requestID":"de396908fd1f46af019cc021a0e9e13e","responseTime":183,"status":204,"url":"/experiments/777b39c4-2c3e-47f2-b7de-5edee45c6643"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"4b8c4f246f11c134edb71c447cc73fab","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b8c4f246f11c134edb71c447cc73fab"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"c7af3cbef146ef8352216380855f9514","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"c7af3cbef146ef8352216380855f9514"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9a566f181f292234f37471c795239177","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2643","request_time":"1.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":"e0b6080c821e801b09944a0c3816eb94"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.824964,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458374,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM"} 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":"9a566f181f292234f37471c795239177"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"1.061","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a800f19ad676727ef8f8c1e97b392f7b"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/27d31cdf-bc53-47ec-b00e-5b4758dda42c' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f5779631-0f5e-4fff-8cf6-e1431def9a97","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.844396} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a566f181f292234f37471c795239177"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21b2ca49-86b9-4f31-9bf7-75651a2c7d92","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.8501291} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/515dbe6d-0a53-4e7f-be8e-8b7156275d21' 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":"9a566f181f292234f37471c795239177"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"4086b783-b064-4cd9-b6d3-81ebbce4eb05","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.8611531} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f19e089d-f8bd-41e1-90c6-05030bd20984","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.8612876} 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":"9a566f181f292234f37471c795239177"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.861142169Z"}]},"request_id":"eb790476-6e7e-42ac-acc7-6c20c52a6b60","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.8658614} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a566f181f292234f37471c795239177"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a566f181f292234f37471c795239177"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"9a566f181f292234f37471c795239177","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4551eef3343d70a1066a7f1840f398b5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.927925,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458374,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NH0.UseHBYbv9O7IVTnk2Ry041a5GZT4-R7E6x0P3urfYlM"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4551eef3343d70a1066a7f1840f398b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"722d9743-465a-4452-813f-44589ecbade9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.9530325} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4551eef3343d70a1066a7f1840f398b5"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3511194d-8a28-4bb8-816d-8c9093ffe597","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.958124} 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":"4551eef3343d70a1066a7f1840f398b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"2a5f3e61-1cfc-4a85-bf4d-02665137b05f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.9685564} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3cc12d9f-5b63-41ca-8f22-80474df8ef10","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.9688873} 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":"4551eef3343d70a1066a7f1840f398b5"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.968544134Z"}]},"request_id":"80d55a4a-7503-40fd-b885-23741f5a97e6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458374.9741695} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4551eef3343d70a1066a7f1840f398b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.107","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4551eef3343d70a1066a7f1840f398b5"} device-1 | {"level":"info","message":"POST /devices? 201 102ms","method":"POST","requestID":"4551eef3343d70a1066a7f1840f398b5","responseTime":102,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NX0.p4VNfPvS9DnghSw0EO6BnlpoRr-pMH8quB_vALcHqwA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"447c1fbd974cbe773f7133273360ddde","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:35Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796755,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458375,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NX0.p4VNfPvS9DnghSw0EO6BnlpoRr-pMH8quB_vALcHqwA"} 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":"447c1fbd974cbe773f7133273360ddde"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.968544134Z"}]},"request_id":"60776d7f-f52b-4ea3-86ac-4cfb50b0767c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458375.8671389} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"447c1fbd974cbe773f7133273360ddde"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf629eb7-8359-4ed3-bf48-011dfdc421ed","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458375.8758612} 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":"447c1fbd974cbe773f7133273360ddde"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.968544134Z"}]},"request_id":"ed64142c-b83f-47f3-a8cc-6c5e405d6401","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458375.9028466} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"447c1fbd974cbe773f7133273360ddde"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/12fe887a-7867-4f6e-ab90-f462d1966715 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.101","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"447c1fbd974cbe773f7133273360ddde"} device-1 | {"level":"info","message":"PATCH /devices/12fe887a-7867-4f6e-ab90-f462d1966715 200 92ms","method":"PATCH","requestID":"447c1fbd974cbe773f7133273360ddde","responseTime":92,"status":200,"url":"/devices/12fe887a-7867-4f6e-ab90-f462d1966715"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NX0.p4VNfPvS9DnghSw0EO6BnlpoRr-pMH8quB_vALcHqwA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"70ac578430ed3d5da7eec8c508cfc0e0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:35Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.997676,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458375,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3NX0.p4VNfPvS9DnghSw0EO6BnlpoRr-pMH8quB_vALcHqwA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70ac578430ed3d5da7eec8c508cfc0e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/12fe887a-7867-4f6e-ab90-f462d1966715/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"70ac578430ed3d5da7eec8c508cfc0e0"} device-1 | {"level":"info","message":"POST /devices/12fe887a-7867-4f6e-ab90-f462d1966715/websocket 200 40ms","method":"POST","requestID":"70ac578430ed3d5da7eec8c508cfc0e0","responseTime":40,"status":200,"url":"/devices/12fe887a-7867-4f6e-ab90-f462d1966715/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715' 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":"2cadcde5e430d872407455340ab170e6","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:09:59:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6fd84988-894b-40aa-b501-07a65dec6d8a/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":"2cadcde5e430d872407455340ab170e6"} device-1 | {"level":"info","message":"OPTIONS /devices/6fd84988-894b-40aa-b501-07a65dec6d8a/websocket 200 1ms","method":"OPTIONS","requestID":"2cadcde5e430d872407455340ab170e6","responseTime":1,"status":200,"url":"/devices/6fd84988-894b-40aa-b501-07a65dec6d8a/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3Nn0.qoPQSZz4yyhDSMNVQ5ygZgysoNUdZGIqYxjPEQcVkOY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0b933509b6169585df2933946f802579","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.89017,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458376,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3Nn0.qoPQSZz4yyhDSMNVQ5ygZgysoNUdZGIqYxjPEQcVkOY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b933509b6169585df2933946f802579"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6fd84988-894b-40aa-b501-07a65dec6d8a/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":"0b933509b6169585df2933946f802579"} device-1 | {"level":"info","message":"POST /devices/6fd84988-894b-40aa-b501-07a65dec6d8a/websocket 200 25ms","method":"POST","requestID":"0b933509b6169585df2933946f802579","responseTime":25,"status":200,"url":"/devices/6fd84988-894b-40aa-b501-07a65dec6d8a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3Nn0.qoPQSZz4yyhDSMNVQ5ygZgysoNUdZGIqYxjPEQcVkOY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7b16af0d53e0dd19a0f9ca85e47e3b30","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.851795,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458376,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3Nn0.qoPQSZz4yyhDSMNVQ5ygZgysoNUdZGIqYxjPEQcVkOY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b16af0d53e0dd19a0f9ca85e47e3b30"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.861142169Z"}]},"request_id":"26a655e1-7ee6-410e-91b6-7022c43bc986","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458376.9761012} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b16af0d53e0dd19a0f9ca85e47e3b30"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6fd84988-894b-40aa-b501-07a65dec6d8a? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b16af0d53e0dd19a0f9ca85e47e3b30"} device-1 | {"level":"info","message":"GET /devices/6fd84988-894b-40aa-b501-07a65dec6d8a? 200 13ms","method":"GET","requestID":"7b16af0d53e0dd19a0f9ca85e47e3b30","responseTime":13,"status":200,"url":"/devices/6fd84988-894b-40aa-b501-07a65dec6d8a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3Nn0.qoPQSZz4yyhDSMNVQ5ygZgysoNUdZGIqYxjPEQcVkOY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a4861fc10c961127373a0d1118352364","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697802,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458376,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3Nn0.qoPQSZz4yyhDSMNVQ5ygZgysoNUdZGIqYxjPEQcVkOY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4861fc10c961127373a0d1118352364"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.968544134Z"}]},"request_id":"dd5e534c-9475-451e-b1b5-df8e8c88539c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458376.99336} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4861fc10c961127373a0d1118352364"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/12fe887a-7867-4f6e-ab90-f462d1966715? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4861fc10c961127373a0d1118352364"} device-1 | {"level":"info","message":"GET /devices/12fe887a-7867-4f6e-ab90-f462d1966715? 200 13ms","method":"GET","requestID":"a4861fc10c961127373a0d1118352364","responseTime":13,"status":200,"url":"/devices/12fe887a-7867-4f6e-ab90-f462d1966715?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3N30.QtTuP8HC6swjiAF-EATHN0DR_Q15Y64-cTrnS-l9Yyg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0edb1b2f14e0a1ee9d127c7287842a55","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:60464","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.721242,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458377,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3N30.QtTuP8HC6swjiAF-EATHN0DR_Q15Y64-cTrnS-l9Yyg"} 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":"0edb1b2f14e0a1ee9d127c7287842a55"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"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:60464","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639332,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458377,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3N30.QtTuP8HC6swjiAF-EATHN0DR_Q15Y64-cTrnS-l9Yyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29dceba0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723737,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458377,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3N30.QtTuP8HC6swjiAF-EATHN0DR_Q15Y64-cTrnS-l9Yyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29dd12b0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.861142169Z"}]},"request_id":"bbd35a40-691a-453d-96f8-2821cad8481e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.0601315} 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":"29dceba0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.968544134Z"}]},"request_id":"2eac5ba5-0e56-4ce2-80a5-c8dab8a2dfc0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.0629194} 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":"29dd12b0-18eb-11ef-97dd-97826c0d9de9"},"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/6fd84988-894b-40aa-b501-07a65dec6d8a? 200 19ms","method":"GET","requestID":"29dceba0-18eb-11ef-97dd-97826c0d9de9","responseTime":19,"status":200,"url":"/devices/6fd84988-894b-40aa-b501-07a65dec6d8a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/12fe887a-7867-4f6e-ab90-f462d1966715? 200 19ms","method":"GET","requestID":"29dd12b0-18eb-11ef-97dd-97826c0d9de9","responseTime":19,"status":200,"url":"/devices/12fe887a-7867-4f6e-ab90-f462d1966715?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"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:60464","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.036216,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458377,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3N30.QtTuP8HC6swjiAF-EATHN0DR_Q15Y64-cTrnS-l9Yyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29e724d0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.849044,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458377,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3N30.QtTuP8HC6swjiAF-EATHN0DR_Q15Y64-cTrnS-l9Yyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29e79a00-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.564573,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90c10021-816e-44e4-92eb-66297dca8252","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.1283293} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","object_type":"device","rebac_allow":false,"scope_allow":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":"29e7e820-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.861142169Z"}]},"request_id":"acf89d03-5c64-435f-bfff-727905e7205e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.1318402} 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":"29e724d0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"POST /devices/6fd84988-894b-40aa-b501-07a65dec6d8a/signaling 200 14ms","method":"POST","requestID":"29e7e820-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/6fd84988-894b-40aa-b501-07a65dec6d8a/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.968544134Z"}]},"request_id":"e6c8c558-f528-4492-bae9-c79cc35e74f3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.135798} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29e79a00-18eb-11ef-97dd-97826c0d9de9"},"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:60464","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} device-1 | {"level":"info","message":"GET /devices/6fd84988-894b-40aa-b501-07a65dec6d8a? 200 26ms","method":"GET","requestID":"29e724d0-18eb-11ef-97dd-97826c0d9de9","responseTime":26,"status":200,"url":"/devices/6fd84988-894b-40aa-b501-07a65dec6d8a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/12fe887a-7867-4f6e-ab90-f462d1966715? 200 25ms","method":"GET","requestID":"29e79a00-18eb-11ef-97dd-97826c0d9de9","responseTime":25,"status":200,"url":"/devices/12fe887a-7867-4f6e-ab90-f462d1966715?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c288dbb-1aab-42d2-aa92-757b7b5a9dca","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.146224} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.759226,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29eace50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0ab2bac5-c8a9-4193-b5e5-2674903f7be7#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0ab2bac5-c8a9-4193-b5e5-2674903f7be7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"e1a70685-356c-4bb5-8511-cb31ece451be","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.1482463} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f5b56ff-4cbb-4c55-8b3d-637039ed9ced","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.1485865} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/12fe887a-7867-4f6e-ab90-f462d1966715/signaling 200 12ms","method":"POST","requestID":"29eace50-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/12fe887a-7867-4f6e-ab90-f462d1966715/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":"0edb1b2f14e0a1ee9d127c7287842a55"},"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:60464","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41e983fd-b7fc-4e32-9cab-44e6819a80b7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.1581354} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.336684,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","object_type":"device","rebac_allow":false,"scope_allow":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":"29ec2de0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:09:59:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0edb1b2f14e0a1ee9d127c7287842a55"} experiment-1 | {"level":"info","message":"POST /experiments? 201 156ms","method":"POST","requestID":"0edb1b2f14e0a1ee9d127c7287842a55","responseTime":156,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6fd84988-894b-40aa-b501-07a65dec6d8a/signaling 200 13ms","method":"POST","requestID":"29ec2de0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/6fd84988-894b-40aa-b501-07a65dec6d8a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3N30.QtTuP8HC6swjiAF-EATHN0DR_Q15Y64-cTrnS-l9Yyg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"50175aee1aab9a97582d366bf548e102","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bedde271-526a-4c47-b1f3-e3b41852ee17","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.1706598} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.246493,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458377,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3N30.QtTuP8HC6swjiAF-EATHN0DR_Q15Y64-cTrnS-l9Yyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50175aee1aab9a97582d366bf548e102"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.820918,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","object_type":"device","rebac_allow":false,"scope_allow":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":"29ee9ee0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.861142169Z"}]},"request_id":"ea96524f-5798-41f1-aad7-279c73cda0fd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.1782672} device-1 | {"level":"info","message":"POST /devices/12fe887a-7867-4f6e-ab90-f462d1966715/signaling 200 13ms","method":"POST","requestID":"29ee9ee0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/12fe887a-7867-4f6e-ab90-f462d1966715/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":"50175aee1aab9a97582d366bf548e102"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"816b03fa-e742-4e64-ae28-98ce8a328980"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"a18eacb6-7835-4a74-9a31-38572de5d923"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"86542a5a-1d7d-4679-9522-4f53f755c173"}]},"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/6fd84988-894b-40aa-b501-07a65dec6d8a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6fd84988-894b-40aa-b501-07a65dec6d8a? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50175aee1aab9a97582d366bf548e102"} device-1 | {"level":"info","message":"GET /devices/6fd84988-894b-40aa-b501-07a65dec6d8a? 200 18ms","method":"GET","requestID":"50175aee1aab9a97582d366bf548e102","responseTime":18,"status":200,"url":"/devices/6fd84988-894b-40aa-b501-07a65dec6d8a?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.812005,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458377,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3N30.QtTuP8HC6swjiAF-EATHN0DR_Q15Y64-cTrnS-l9Yyg"} 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":"29f136f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3N30.QtTuP8HC6swjiAF-EATHN0DR_Q15Y64-cTrnS-l9Yyg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"06603c8ad66181fcdf3f309376f402f2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687647,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458377,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3N30.QtTuP8HC6swjiAF-EATHN0DR_Q15Y64-cTrnS-l9Yyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06603c8ad66181fcdf3f309376f402f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:34.968544134Z"}]},"request_id":"24f47747-b840-4910-92db-1b4f2ae3102c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.2016888} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06603c8ad66181fcdf3f309376f402f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"99aa44c4-c0f7-4323-8026-1a180a062706","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.2034936} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2732e65f-620b-470c-8245-9035573d9213","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.2070541} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29f136f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} gateway-1 | {"time_local":"23/May/2024:09:59:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/12fe887a-7867-4f6e-ab90-f462d1966715? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06603c8ad66181fcdf3f309376f402f2"} device-1 | {"level":"info","message":"GET /devices/12fe887a-7867-4f6e-ab90-f462d1966715? 200 17ms","method":"GET","requestID":"06603c8ad66181fcdf3f309376f402f2","responseTime":17,"status":200,"url":"/devices/12fe887a-7867-4f6e-ab90-f462d1966715?"} 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/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9'"} 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 55ms","method":"POST","requestID":"29f136f0-18eb-11ef-97dd-97826c0d9de9","responseTime":55,"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/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4672476f-9865-484d-853f-18c5398ec08e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.2833369} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.500607,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29ffb5e0-18eb-11ef-97dd-97826c0d9de9"},"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/6fd84988-894b-40aa-b501-07a65dec6d8a/signaling 200 13ms","method":"POST","requestID":"29ffb5e0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/6fd84988-894b-40aa-b501-07a65dec6d8a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8a2ae9d-9483-4e57-90fb-f7ebab75ec9f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458377.2974157} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.20017,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2a01ffd0-18eb-11ef-97dd-97826c0d9de9"},"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/12fe887a-7867-4f6e-ab90-f462d1966715/signaling 200 9ms","method":"POST","requestID":"2a01ffd0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/12fe887a-7867-4f6e-ab90-f462d1966715/signaling"} device-1 | {"data":{"peerconnection":"5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","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/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","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":"22393a7e849327da459b4d35903bd237","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/6fd84988-894b-40aa-b501-07a65dec6d8a'"} 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/6fd84988-894b-40aa-b501-07a65dec6d8a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"22393a7e849327da459b4d35903bd237","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"22393a7e849327da459b4d35903bd237"} device-1 | {"data":{"peerconnection":"5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","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/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","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":"4b42c26603cd0bff1bf2a4fdffb5f277","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/6fd84988-894b-40aa-b501-07a65dec6d8a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c6bbab9-e735-4988-9832-53e03aa4c2f4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.3638237} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.527144,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","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":"2b3d17e0-18eb-11ef-97dd-97826c0d9de9"},"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/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9 200 11ms","method":"GET","requestID":"2b3d17e0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"4b42c26603cd0bff1bf2a4fdffb5f277","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b42c26603cd0bff1bf2a4fdffb5f277"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5699907-1196-44fa-9036-c2b8f62bee78","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.3990896} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.198721,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","object_type":"device","rebac_allow":false,"scope_allow":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":"2b429620-18eb-11ef-97dd-97826c0d9de9"},"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/6fd84988-894b-40aa-b501-07a65dec6d8a/signaling 200 10ms","method":"POST","requestID":"2b429620-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/6fd84988-894b-40aa-b501-07a65dec6d8a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db08fa6d-35a6-48b7-9c27-e2cdd480aa90","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.4118493} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.236648,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b446ae0-18eb-11ef-97dd-97826c0d9de9"},"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/12fe887a-7867-4f6e-ab90-f462d1966715/signaling 200 10ms","method":"POST","requestID":"2b446ae0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/12fe887a-7867-4f6e-ab90-f462d1966715/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3OX0.Ves_NnaPl7xTmGHxl7JTtqPL6o3X2MKxgizhx_zHnDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9353fae8e63f4cc0ebd1cb20886a044f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.752336,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458379,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3OX0.Ves_NnaPl7xTmGHxl7JTtqPL6o3X2MKxgizhx_zHnDw"} 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":"9353fae8e63f4cc0ebd1cb20886a044f"},"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/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"} gateway-1 | {"time_local":"23/May/2024:09:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9353fae8e63f4cc0ebd1cb20886a044f"} experiment-1 | {"level":"info","message":"GET /experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7 200 12ms","method":"GET","requestID":"9353fae8e63f4cc0ebd1cb20886a044f","responseTime":12,"status":200,"url":"/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3OX0.Ves_NnaPl7xTmGHxl7JTtqPL6o3X2MKxgizhx_zHnDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5074748b2e65f7430f8b356ce1848226","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.809408,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458379,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3OX0.Ves_NnaPl7xTmGHxl7JTtqPL6o3X2MKxgizhx_zHnDw"} 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":"5074748b2e65f7430f8b356ce1848226"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.723334,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458379,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3OX0.Ves_NnaPl7xTmGHxl7JTtqPL6o3X2MKxgizhx_zHnDw"} 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":"2b4d92a0-18eb-11ef-97dd-97826c0d9de9"},"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/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","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":"c27a1134988613e9e375f46fef1e2e27","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"166960bdef477b481f9a58ae7005953d","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/6fd84988-894b-40aa-b501-07a65dec6d8a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5c8923e0-5e40-4a1d-a60c-b14bdd796ae9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"23cdb124-06e4-4cb3-8f8a-691d07e090e6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.4883878} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6012e1f8-7d51-4008-9b25-5435103bfb2b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.488821} 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/6fd84988-894b-40aa-b501-07a65dec6d8a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b4d92a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"data":{"peerconnection":"5c8923e0-5e40-4a1d-a60c-b14bdd796ae9","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/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9 204 50ms","method":"DELETE","requestID":"2b4d92a0-18eb-11ef-97dd-97826c0d9de9","responseTime":50,"status":204,"url":"/peerconnections/5c8923e0-5e40-4a1d-a60c-b14bdd796ae9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fd84988-894b-40aa-b501-07a65dec6d8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b21c59fe-0ff9-481f-beeb-9e51ff3247cd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.5440521} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.016629,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fd84988-894b-40aa-b501-07a65dec6d8a","object_type":"device","rebac_allow":false,"scope_allow":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":"2b588f20-18eb-11ef-97dd-97826c0d9de9"},"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/6fd84988-894b-40aa-b501-07a65dec6d8a/signaling 200 12ms","method":"POST","requestID":"2b588f20-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/6fd84988-894b-40aa-b501-07a65dec6d8a/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0ab2bac5-c8a9-4193-b5e5-2674903f7be7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0ab2bac5-c8a9-4193-b5e5-2674903f7be7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"022c0701-53b4-426d-8151-d9dd45601174","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.551377} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49e9a87c-ff98-4c50-b8c5-3ec0e498c890","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.5519652} 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":"5074748b2e65f7430f8b356ce1848226"},"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:60464","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12fe887a-7867-4f6e-ab90-f462d1966715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c49f3c8a-eba3-42c3-9bfc-5bc31fe5eaca","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.5579057} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.493651,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12fe887a-7867-4f6e-ab90-f462d1966715","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b5ad910-18eb-11ef-97dd-97826c0d9de9"},"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/12fe887a-7867-4f6e-ab90-f462d1966715/signaling 200 10ms","method":"POST","requestID":"2b5ad910-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/12fe887a-7867-4f6e-ab90-f462d1966715/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"} gateway-1 | {"time_local":"23/May/2024:09:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5074748b2e65f7430f8b356ce1848226"} experiment-1 | {"level":"info","message":"DELETE /experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7 204 176ms","method":"DELETE","requestID":"5074748b2e65f7430f8b356ce1848226","responseTime":176,"status":204,"url":"/experiments/0ab2bac5-c8a9-4193-b5e5-2674903f7be7"} gateway-1 | {"time_local":"23/May/2024:09:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"3.667","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bd77a48ae8b65d7d2ade0c094e9f1d79"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"c27a1134988613e9e375f46fef1e2e27","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"c27a1134988613e9e375f46fef1e2e27"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3OX0.Ves_NnaPl7xTmGHxl7JTtqPL6o3X2MKxgizhx_zHnDw","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"166960bdef477b481f9a58ae7005953d","responseTime":143,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"565f8e4597a7b01557633743133029ad","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:09:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"166960bdef477b481f9a58ae7005953d"} gateway-1 | {"time_local":"23/May/2024:09:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.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":"fa57eedd601976c565b409e8b8e2be04"} 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/12fe887a-7867-4f6e-ab90-f462d1966715' closed"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.993239,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458379,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3OX0.Ves_NnaPl7xTmGHxl7JTtqPL6o3X2MKxgizhx_zHnDw"} 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":"565f8e4597a7b01557633743133029ad"},"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/6fd84988-894b-40aa-b501-07a65dec6d8a' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"49fc0985-66e0-4d1d-8699-38f7e9168397","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.66925} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"565f8e4597a7b01557633743133029ad"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c04c968-f134-41ed-9505-c69e82c8f810","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.67529} 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":"565f8e4597a7b01557633743133029ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"fc47bfae-518d-45e9-88ad-4bc0990cee9a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.6884902} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d6ea004-4e7d-4f36-8abd-3536cb6d0eb2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.6890316} 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":"565f8e4597a7b01557633743133029ad"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.688472017Z"}]},"request_id":"014e3613-1398-43c9-b2bc-e6f719a3978e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.6953318} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"565f8e4597a7b01557633743133029ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"565f8e4597a7b01557633743133029ad"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"565f8e4597a7b01557633743133029ad","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3OX0.Ves_NnaPl7xTmGHxl7JTtqPL6o3X2MKxgizhx_zHnDw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a40358afcdfe657587e3bc0114935075","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.795848,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458379,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM3OX0.Ves_NnaPl7xTmGHxl7JTtqPL6o3X2MKxgizhx_zHnDw"} 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":"a40358afcdfe657587e3bc0114935075"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e57655da-0909-4cb1-b643-b0703b7f21b0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.763107} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a40358afcdfe657587e3bc0114935075"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed7f9618-1a17-49b4-80e7-b94f83f65c8a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.768367} 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":"a40358afcdfe657587e3bc0114935075"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"867f1242-117b-4882-820f-b3dd68338f5f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.7793581} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b96f207-5e4a-4dd2-957e-152da4e59a05","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.7796133} 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":"a40358afcdfe657587e3bc0114935075"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.779344119Z"}]},"request_id":"ecb81aca-e6c5-42d2-a7d7-1005bc9480a4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458379.7851336} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a40358afcdfe657587e3bc0114935075"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a40358afcdfe657587e3bc0114935075"} device-1 | {"level":"info","message":"POST /devices? 201 83ms","method":"POST","requestID":"a40358afcdfe657587e3bc0114935075","responseTime":83,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MH0.89BFH2KcbybMmyc4mcxsCIMqHkOuTgiDezYIfK9n1sk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"118a3d5fb05e7341aa3d9feda7f05447","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650722,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458380,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MH0.89BFH2KcbybMmyc4mcxsCIMqHkOuTgiDezYIfK9n1sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"118a3d5fb05e7341aa3d9feda7f05447"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.688472017Z"}]},"request_id":"7cdfd9ad-1ee6-4f5f-8534-8c6814dadb49","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458380.3963184} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"118a3d5fb05e7341aa3d9feda7f05447"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ed01da8-228a-4f75-989e-0134516a9585","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458380.4016502} 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":"118a3d5fb05e7341aa3d9feda7f05447"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.688472017Z"}]},"request_id":"59788c85-cf7b-4e66-a55d-aee7374b7208","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458380.4520638} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"118a3d5fb05e7341aa3d9feda7f05447"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0619434c-6d13-49a0-911b-54b4e551fa78 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.073","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"118a3d5fb05e7341aa3d9feda7f05447"} device-1 | {"level":"info","message":"PATCH /devices/0619434c-6d13-49a0-911b-54b4e551fa78 200 68ms","method":"PATCH","requestID":"118a3d5fb05e7341aa3d9feda7f05447","responseTime":68,"status":200,"url":"/devices/0619434c-6d13-49a0-911b-54b4e551fa78"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MH0.89BFH2KcbybMmyc4mcxsCIMqHkOuTgiDezYIfK9n1sk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bc6dbbb6b42653ddbd40cd5b18f9acf1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.811347,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458380,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MH0.89BFH2KcbybMmyc4mcxsCIMqHkOuTgiDezYIfK9n1sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc6dbbb6b42653ddbd40cd5b18f9acf1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0619434c-6d13-49a0-911b-54b4e551fa78/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":"bc6dbbb6b42653ddbd40cd5b18f9acf1"} device-1 | {"level":"info","message":"POST /devices/0619434c-6d13-49a0-911b-54b4e551fa78/websocket 200 14ms","method":"POST","requestID":"bc6dbbb6b42653ddbd40cd5b18f9acf1","responseTime":14,"status":200,"url":"/devices/0619434c-6d13-49a0-911b-54b4e551fa78/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78' 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":"d1c06191afc2d7d40a7ce85f19205016","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:09:59:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/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":"d1c06191afc2d7d40a7ce85f19205016"} device-1 | {"level":"info","message":"OPTIONS /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/websocket 200 1ms","method":"OPTIONS","requestID":"d1c06191afc2d7d40a7ce85f19205016","responseTime":1,"status":200,"url":"/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"760933ddff600e4d02b5584b67b3c404","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743167,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458381,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"760933ddff600e4d02b5584b67b3c404"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"760933ddff600e4d02b5584b67b3c404"} device-1 | {"level":"info","message":"POST /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/websocket 200 36ms","method":"POST","requestID":"760933ddff600e4d02b5584b67b3c404","responseTime":36,"status":200,"url":"/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bdd4c06f8d3b3cf89824272a81e4e6f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.617219,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458381,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bdd4c06f8d3b3cf89824272a81e4e6f"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.688472017Z"}]},"request_id":"7ff091a6-c836-48e4-8037-2a745f06e485","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458381.7926152} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bdd4c06f8d3b3cf89824272a81e4e6f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0619434c-6d13-49a0-911b-54b4e551fa78? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bdd4c06f8d3b3cf89824272a81e4e6f"} device-1 | {"level":"info","message":"GET /devices/0619434c-6d13-49a0-911b-54b4e551fa78? 200 14ms","method":"GET","requestID":"7bdd4c06f8d3b3cf89824272a81e4e6f","responseTime":14,"status":200,"url":"/devices/0619434c-6d13-49a0-911b-54b4e551fa78?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ed1626eb14d3c6b890ee4af98acfdc0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733975,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458381,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ed1626eb14d3c6b890ee4af98acfdc0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.779344119Z"}]},"request_id":"c3e8c1b0-6052-4468-8e4e-45206b61bdce","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458381.8126996} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ed1626eb14d3c6b890ee4af98acfdc0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ed1626eb14d3c6b890ee4af98acfdc0"} device-1 | {"level":"info","message":"GET /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a? 200 15ms","method":"GET","requestID":"5ed1626eb14d3c6b890ee4af98acfdc0","responseTime":15,"status":200,"url":"/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0d2f7eea3dd02714d2dc811a92e9ce56","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:60464","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.747128,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458381,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw"} 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":"0d2f7eea3dd02714d2dc811a92e9ce56"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"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:60464","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.612346,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458381,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cbbc8a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704946,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458381,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cbbefb0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.688472017Z"}]},"request_id":"5e53843f-efc6-4d97-b5a5-c8eaa69264a1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458381.877835} 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":"2cbbc8a0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.779344119Z"}]},"request_id":"ba318a1d-5598-47c5-b581-97daa47149a5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458381.879217} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cbbefb0-18eb-11ef-97dd-97826c0d9de9"},"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/0619434c-6d13-49a0-911b-54b4e551fa78? 200 18ms","method":"GET","requestID":"2cbbc8a0-18eb-11ef-97dd-97826c0d9de9","responseTime":18,"status":200,"url":"/devices/0619434c-6d13-49a0-911b-54b4e551fa78?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a? 200 19ms","method":"GET","requestID":"2cbbefb0-18eb-11ef-97dd-97826c0d9de9","responseTime":19,"status":200,"url":"/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"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/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.09787,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458381,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cc93620-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.108797,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458381,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cc95d30-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.63214,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82c846f5-9842-474e-9cd4-e51885ee6e32","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458381.9657924} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.688472017Z"}]},"request_id":"baed76b5-aff4-4502-bc9e-e016e9a99888","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458381.9668443} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","object_type":"device","rebac_allow":false,"scope_allow":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":"2cc9ab50-18eb-11ef-97dd-97826c0d9de9"},"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":"2cc93620-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.779344119Z"}]},"request_id":"56833ead-d409-492c-aa4e-823c899dc2ba","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458381.9678564} 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":"2cc95d30-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F55f7c987-a677-4402-a21b-3a77f0bd0606#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F55f7c987-a677-4402-a21b-3a77f0bd0606","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"8e6b9fa6-2316-4276-99fc-e8160257e524","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458381.975672} device-1 | {"level":"info","message":"POST /devices/0619434c-6d13-49a0-911b-54b4e551fa78/signaling 200 19ms","method":"POST","requestID":"2cc9ab50-18eb-11ef-97dd-97826c0d9de9","responseTime":19,"status":200,"url":"/devices/0619434c-6d13-49a0-911b-54b4e551fa78/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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2e2f5ec-6ee0-4762-91c4-da2c0d25ab1e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458381.97605} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0619434c-6d13-49a0-911b-54b4e551fa78? 200 23ms","method":"GET","requestID":"2cc93620-18eb-11ef-97dd-97826c0d9de9","responseTime":23,"status":200,"url":"/devices/0619434c-6d13-49a0-911b-54b4e551fa78?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a? 200 23ms","method":"GET","requestID":"2cc95d30-18eb-11ef-97dd-97826c0d9de9","responseTime":23,"status":200,"url":"/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d2f7eea3dd02714d2dc811a92e9ce56"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d011205-dd07-4820-8216-71cde5c169bb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458381.9831104} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.133792,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","object_type":"device","rebac_allow":false,"scope_allow":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":"2ccd06b0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:09:59:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d2f7eea3dd02714d2dc811a92e9ce56"} experiment-1 | {"level":"info","message":"POST /experiments? 201 165ms","method":"POST","requestID":"0d2f7eea3dd02714d2dc811a92e9ce56","responseTime":165,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/signaling 200 11ms","method":"POST","requestID":"2ccd06b0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e015d6d0-84c3-4e8f-a93d-3743bbaf1e4a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458381.9928246} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.909082,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw","level":"info","message":"auth send jwt"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cce3f30-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a9c5217d07201e307e3f3a89ca9cc33a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0619434c-6d13-49a0-911b-54b4e551fa78/signaling 200 12ms","method":"POST","requestID":"2cce3f30-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/0619434c-6d13-49a0-911b-54b4e551fa78/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785042,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458381,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9c5217d07201e307e3f3a89ca9cc33a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:42Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"889932a1-717d-41e7-a845-752f9766707b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458382.0065103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.688472017Z"}]},"request_id":"37cf8a4c-7f97-4499-9cd2-5f59f3dd9461","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458382.00666} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9c5217d07201e307e3f3a89ca9cc33a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.284241,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","object_type":"device","rebac_allow":false,"scope_allow":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":"2cd08920-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0619434c-6d13-49a0-911b-54b4e551fa78? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a9c5217d07201e307e3f3a89ca9cc33a"} device-1 | {"level":"info","message":"GET /devices/0619434c-6d13-49a0-911b-54b4e551fa78? 200 16ms","method":"GET","requestID":"a9c5217d07201e307e3f3a89ca9cc33a","responseTime":16,"status":200,"url":"/devices/0619434c-6d13-49a0-911b-54b4e551fa78?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/signaling 200 13ms","method":"POST","requestID":"2cd08920-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"3fb804b4-c78d-4872-a988-86d0d9cbd3c2"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"90b88ab8-219c-4456-868b-0048f96724c7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9ec51d53-906d-410f-8f31-7bd493fddf96"}]},"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/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4Mn0.s-wHVv_1yS6fLoOic2-RiNy0c8liMThst1qVDpAMIxk","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a50b602e6e8fb7620d667b6172a30ffc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:42Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.608602,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458381,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4MX0.qOQiPHFiHC3Dl1elpjUTXMcoEYAZgyR3zjQz8COAmfw"} 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":"2cd2fa20-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:42Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.797282,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458382,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4Mn0.s-wHVv_1yS6fLoOic2-RiNy0c8liMThst1qVDpAMIxk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a50b602e6e8fb7620d667b6172a30ffc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:39.779344119Z"}]},"request_id":"c751260b-62ba-49a1-a629-cb63d815e3ea","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458382.0290897} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a50b602e6e8fb7620d667b6172a30ffc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a50b602e6e8fb7620d667b6172a30ffc"} device-1 | {"level":"info","message":"GET /devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a? 200 12ms","method":"GET","requestID":"a50b602e6e8fb7620d667b6172a30ffc","responseTime":12,"status":200,"url":"/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"36d26842-f64d-4b81-810f-1ebe34d60058","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458382.034621} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dfa759fc-8fb6-471f-91b5-68d8ace91a3c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458382.034865} 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":"2cd2fa20-18eb-11ef-97dd-97826c0d9de9"},"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/486b8aee-d8bd-49bf-9b0f-bf7459b77399'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399'"} 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":"2cd2fa20-18eb-11ef-97dd-97826c0d9de9","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/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:42Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db8683ed-f68d-4a24-85a8-1d67a6cdb42e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458382.1164112} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.048871,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","object_type":"device","rebac_allow":false,"scope_allow":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":"2ce103e0-18eb-11ef-97dd-97826c0d9de9"},"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/0619434c-6d13-49a0-911b-54b4e551fa78/signaling 200 11ms","method":"POST","requestID":"2ce103e0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/0619434c-6d13-49a0-911b-54b4e551fa78/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:42Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7328ae5-6068-4f6b-92db-193e1d6f9856","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458382.128353} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.327502,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ce2ffb0-18eb-11ef-97dd-97826c0d9de9"},"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/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/signaling 200 9ms","method":"POST","requestID":"2ce2ffb0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/signaling"} device-1 | {"data":{"peerconnection":"486b8aee-d8bd-49bf-9b0f-bf7459b77399","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/486b8aee-d8bd-49bf-9b0f-bf7459b77399' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"486b8aee-d8bd-49bf-9b0f-bf7459b77399","statusDeviceA":"new","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/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3d4cb394729fcf56aa322b249115fac4","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/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"3d4cb394729fcf56aa322b249115fac4","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d4cb394729fcf56aa322b249115fac4"} device-1 | {"data":{"peerconnection":"486b8aee-d8bd-49bf-9b0f-bf7459b77399","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"486b8aee-d8bd-49bf-9b0f-bf7459b77399","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/486b8aee-d8bd-49bf-9b0f-bf7459b77399' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"486b8aee-d8bd-49bf-9b0f-bf7459b77399","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":"964e39d609ab0a04d06f79f30d864862","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/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F486b8aee-d8bd-49bf-9b0f-bf7459b77399","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea1bd2f0-a677-4821-9028-c7a617b14efb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.2244866} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.061024,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399","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":"2e22d2b0-18eb-11ef-97dd-97826c0d9de9"},"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/486b8aee-d8bd-49bf-9b0f-bf7459b77399 200 9ms","method":"GET","requestID":"2e22d2b0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"964e39d609ab0a04d06f79f30d864862","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"964e39d609ab0a04d06f79f30d864862"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef466c57-5e63-4dd0-b8eb-06937e756981","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.2505143} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.353956,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e26ca50-18eb-11ef-97dd-97826c0d9de9"},"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/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/signaling 200 10ms","method":"POST","requestID":"2e26ca50-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b33b109-92dd-4311-88d4-c03770a6e226","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.262131} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.1562,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e289f10-18eb-11ef-97dd-97826c0d9de9"},"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/0619434c-6d13-49a0-911b-54b4e551fa78/signaling 200 11ms","method":"POST","requestID":"2e289f10-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/0619434c-6d13-49a0-911b-54b4e551fa78/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NH0.0SkkeLnUwKG1UhAbUDRjtPqQHZU-IOy0-o3smtuK778","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e8a1a2ad9139a7bd61874aa8244bace7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.681215,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458384,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NH0.0SkkeLnUwKG1UhAbUDRjtPqQHZU-IOy0-o3smtuK778"} 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":"e8a1a2ad9139a7bd61874aa8244bace7"},"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/55f7c987-a677-4402-a21b-3a77f0bd0606"} gateway-1 | {"time_local":"23/May/2024:09:59:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/55f7c987-a677-4402-a21b-3a77f0bd0606 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8a1a2ad9139a7bd61874aa8244bace7"} experiment-1 | {"level":"info","message":"GET /experiments/55f7c987-a677-4402-a21b-3a77f0bd0606 200 13ms","method":"GET","requestID":"e8a1a2ad9139a7bd61874aa8244bace7","responseTime":13,"status":200,"url":"/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NH0.0SkkeLnUwKG1UhAbUDRjtPqQHZU-IOy0-o3smtuK778","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d323b0974144fa6b71b1aa05a4dcf066","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.703989,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458384,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NH0.0SkkeLnUwKG1UhAbUDRjtPqQHZU-IOy0-o3smtuK778"} 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":"d323b0974144fa6b71b1aa05a4dcf066"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.689936,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458384,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NH0.0SkkeLnUwKG1UhAbUDRjtPqQHZU-IOy0-o3smtuK778"} 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":"2e33c2a0-18eb-11ef-97dd-97826c0d9de9"},"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/486b8aee-d8bd-49bf-9b0f-bf7459b77399' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"486b8aee-d8bd-49bf-9b0f-bf7459b77399","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":"d58c770bfb7062a3b2b2bd33c24a9972","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F486b8aee-d8bd-49bf-9b0f-bf7459b77399': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F486b8aee-d8bd-49bf-9b0f-bf7459b77399","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"485f0fe8-1dfd-4159-828c-9769ddea19c2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.3497655} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72f68204-0b26-4a68-af77-1b704c6d3c80","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.350026} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2b0e5be0bbd86a904f2443f3863da807","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/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399"}}},"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":"2e33c2a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"486b8aee-d8bd-49bf-9b0f-bf7459b77399","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/486b8aee-d8bd-49bf-9b0f-bf7459b77399 204 45ms","method":"DELETE","requestID":"2e33c2a0-18eb-11ef-97dd-97826c0d9de9","responseTime":45,"status":204,"url":"/peerconnections/486b8aee-d8bd-49bf-9b0f-bf7459b77399"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7e6eab0-10f0-4140-a4e4-8efb0baa982b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.4003022} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.555175,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e3dadb0-18eb-11ef-97dd-97826c0d9de9"},"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/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/signaling 200 10ms","method":"POST","requestID":"2e3dadb0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F55f7c987-a677-4402-a21b-3a77f0bd0606': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F55f7c987-a677-4402-a21b-3a77f0bd0606","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"55867c99-82ea-490e-ab6e-a086939350ee","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.4101942} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"040c1d5d-f43e-497e-9068-d5203ba6abb2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.4105315} 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":"d323b0974144fa6b71b1aa05a4dcf066"},"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:60464","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0619434c-6d13-49a0-911b-54b4e551fa78","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22ffc8dc-2281-4bc9-ab60-adb7ab0692ef","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.415594} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.549211,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0619434c-6d13-49a0-911b-54b4e551fa78","object_type":"device","rebac_allow":false,"scope_allow":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":"2e3fa980-18eb-11ef-97dd-97826c0d9de9"},"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/0619434c-6d13-49a0-911b-54b4e551fa78/signaling 200 11ms","method":"POST","requestID":"2e3fa980-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/0619434c-6d13-49a0-911b-54b4e551fa78/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"} gateway-1 | {"time_local":"23/May/2024:09:59:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/55f7c987-a677-4402-a21b-3a77f0bd0606 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d323b0974144fa6b71b1aa05a4dcf066"} experiment-1 | {"level":"info","message":"DELETE /experiments/55f7c987-a677-4402-a21b-3a77f0bd0606 204 143ms","method":"DELETE","requestID":"d323b0974144fa6b71b1aa05a4dcf066","responseTime":143,"status":204,"url":"/experiments/55f7c987-a677-4402-a21b-3a77f0bd0606"} gateway-1 | {"time_local":"23/May/2024:09:59:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"3.987","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0688bf5b00faa1e5a990f35f73e6d630"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"d58c770bfb7062a3b2b2bd33c24a9972","responseTime":115,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59: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.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"d58c770bfb7062a3b2b2bd33c24a9972"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"2b0e5be0bbd86a904f2443f3863da807","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59: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.119","http_referrer":"","http_user_agent":"node-fetch","requestID":"2b0e5be0bbd86a904f2443f3863da807"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NH0.0SkkeLnUwKG1UhAbUDRjtPqQHZU-IOy0-o3smtuK778","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6adc207d6010a6008f9838b6be89fac3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:09:59:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.703","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f17e6b20702ded1868e3b38e038fdc0d"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.115669,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458384,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NH0.0SkkeLnUwKG1UhAbUDRjtPqQHZU-IOy0-o3smtuK778"} 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":"6adc207d6010a6008f9838b6be89fac3"},"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/0619434c-6d13-49a0-911b-54b4e551fa78' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ab003003-c15a-4c5f-90bd-72aaf9c1b269","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.4935944} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6adc207d6010a6008f9838b6be89fac3"},"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/3be7c6ea-54b6-48d2-b79d-123df8ff9e2a' 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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57fd0ff9-94eb-401c-9a79-ea9e10abd099","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.4992487} 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":"6adc207d6010a6008f9838b6be89fac3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"085ddd06-db8a-4f89-b9b5-ea7031b025ca","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.5200205} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d10a03c0-38cb-4c5c-a501-f9f5c2c517dc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.520548} 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":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6adc207d6010a6008f9838b6be89fac3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.520009073Z"}]},"request_id":"0401f927-d2b2-43ff-801b-ce431646706e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.5328526} 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":"6adc207d6010a6008f9838b6be89fac3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6adc207d6010a6008f9838b6be89fac3"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"6adc207d6010a6008f9838b6be89fac3","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NH0.0SkkeLnUwKG1UhAbUDRjtPqQHZU-IOy0-o3smtuK778","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a0c9cc373e36c9793679c0dfa2b05d3c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.96978,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458384,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NH0.0SkkeLnUwKG1UhAbUDRjtPqQHZU-IOy0-o3smtuK778"} 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":"a0c9cc373e36c9793679c0dfa2b05d3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"71aacb9c-0dbc-4d31-920a-04bbcff11b75","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.5600839} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0c9cc373e36c9793679c0dfa2b05d3c"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78c5d8c1-7992-4ef5-98bf-c7022fa30f4b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.5658324} 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":"a0c9cc373e36c9793679c0dfa2b05d3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"cc1c6475-f6dd-4029-bdab-6998f879c2b9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.5765545} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8029f65a-945d-4f55-9e70-3081590b33b3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.576778} 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":"a0c9cc373e36c9793679c0dfa2b05d3c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.576539048Z"}]},"request_id":"add61940-3df6-450b-971e-a0af4c339951","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458384.583487} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0c9cc373e36c9793679c0dfa2b05d3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0c9cc373e36c9793679c0dfa2b05d3c"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"a0c9cc373e36c9793679c0dfa2b05d3c","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7b9c190ba9f8a344e9100733c0867c79","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a75f0a0b0bc9292d67093480a6ff51b9","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:60464","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71181,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b9c190ba9f8a344e9100733c0867c79"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743867,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a75f0a0b0bc9292d67093480a6ff51b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.576539048Z"}]},"request_id":"252c7bbd-eea2-410c-8f01-b3de85ef5d65","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.0920508} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b9c190ba9f8a344e9100733c0867c79"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.520009073Z"}]},"request_id":"d395793b-c8bc-40f6-b607-f6612b10eac3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.0930436} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a75f0a0b0bc9292d67093480a6ff51b9"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8bafc77-5275-402c-b542-b9d0f0269e3d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.0986898} 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":"7b9c190ba9f8a344e9100733c0867c79"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f1306dd-94c3-489c-abd1-779d197d9b8c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.1009865} 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":"a75f0a0b0bc9292d67093480a6ff51b9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.520009073Z"}]},"request_id":"4ce126a8-2a55-4520-a5a5-75d2aef8d65b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.1063044} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a75f0a0b0bc9292d67093480a6ff51b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/77570c21-edaf-4a07-ac67-94957349e0ba HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a75f0a0b0bc9292d67093480a6ff51b9"} device-1 | {"level":"info","message":"PATCH /devices/77570c21-edaf-4a07-ac67-94957349e0ba 200 28ms","method":"PATCH","requestID":"a75f0a0b0bc9292d67093480a6ff51b9","responseTime":28,"status":200,"url":"/devices/77570c21-edaf-4a07-ac67-94957349e0ba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ada229674ef1eee29f1a69994fcddb0e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660685,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ada229674ef1eee29f1a69994fcddb0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.576539048Z"}]},"request_id":"fb40ed4e-976b-4294-a753-37a797bdc5a6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.13625} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b9c190ba9f8a344e9100733c0867c79"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.067","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7b9c190ba9f8a344e9100733c0867c79"} device-1 | {"level":"info","message":"PATCH /devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36 200 61ms","method":"PATCH","requestID":"7b9c190ba9f8a344e9100733c0867c79","responseTime":61,"status":200,"url":"/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"29d788c43fd25950898dc2572705c181","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} gateway-1 | {"time_local":"23/May/2024:09:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/77570c21-edaf-4a07-ac67-94957349e0ba/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ada229674ef1eee29f1a69994fcddb0e"} device-1 | {"level":"info","message":"POST /devices/77570c21-edaf-4a07-ac67-94957349e0ba/websocket 200 34ms","method":"POST","requestID":"ada229674ef1eee29f1a69994fcddb0e","responseTime":34,"status":200,"url":"/devices/77570c21-edaf-4a07-ac67-94957349e0ba/websocket"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932115,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29d788c43fd25950898dc2572705c181"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"device 'http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/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":"29d788c43fd25950898dc2572705c181"} device-1 | {"level":"info","message":"POST /devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/websocket 200 17ms","method":"POST","requestID":"29d788c43fd25950898dc2572705c181","responseTime":17,"status":200,"url":"/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e92a968b04f0d78e4cf79c2af0e637c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753241,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e92a968b04f0d78e4cf79c2af0e637c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.520009073Z"}]},"request_id":"25723cb7-d8b0-430b-962c-55b7d0c34572","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.1857543} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e92a968b04f0d78e4cf79c2af0e637c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/77570c21-edaf-4a07-ac67-94957349e0ba? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e92a968b04f0d78e4cf79c2af0e637c"} device-1 | {"level":"info","message":"GET /devices/77570c21-edaf-4a07-ac67-94957349e0ba? 200 11ms","method":"GET","requestID":"2e92a968b04f0d78e4cf79c2af0e637c","responseTime":11,"status":200,"url":"/devices/77570c21-edaf-4a07-ac67-94957349e0ba?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f7b8ad45983105c2a26dcda914c85e59","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725139,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7b8ad45983105c2a26dcda914c85e59"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.576539048Z"}]},"request_id":"41ab5ae6-5b03-45c2-b41d-d2cdecb310f5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.2101345} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7b8ad45983105c2a26dcda914c85e59"},"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/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36? 200 20ms","method":"GET","requestID":"f7b8ad45983105c2a26dcda914c85e59","responseTime":20,"status":200,"url":"/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36?"} gateway-1 | {"time_local":"23/May/2024:09:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7b8ad45983105c2a26dcda914c85e59"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f88fb5946d1d0d08e17e36ea7ea73d5e","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:60464","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.712621,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} 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":"f88fb5946d1d0d08e17e36ea7ea73d5e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"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:60464","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.89876,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ec15ca0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.546556,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ec183b0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.520009073Z"}]},"request_id":"a7daca67-b4f7-47bd-a7e0-26e5ea017741","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.2664313} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ec15ca0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.576539048Z"}]},"request_id":"03676f8d-b181-4d0d-a6d0-f8e77b9038dd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.2673075} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ec183b0-18eb-11ef-97dd-97826c0d9de9"},"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/77570c21-edaf-4a07-ac67-94957349e0ba? 200 15ms","method":"GET","requestID":"2ec15ca0-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/77570c21-edaf-4a07-ac67-94957349e0ba?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36? 200 15ms","method":"GET","requestID":"2ec183b0-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"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:60464","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936043,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ec9e820-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.109461,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} 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":"2eca0f30-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.663898,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"356e8a68-a6b9-454e-b8fc-8c101d1ee08b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.3245454} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","object_type":"device","rebac_allow":false,"scope_allow":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":"2eca5d50-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.520009073Z"}]},"request_id":"340d0e24-7c0c-4fd3-b16d-d041baaf4520","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.3274674} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/77570c21-edaf-4a07-ac67-94957349e0ba/signaling 200 15ms","method":"POST","requestID":"2eca5d50-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/77570c21-edaf-4a07-ac67-94957349e0ba/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":"2ec9e820-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.576539048Z"}]},"request_id":"125779e6-b0a9-4bce-a9b7-a6952fc77581","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.3318865} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2eca0f30-18eb-11ef-97dd-97826c0d9de9"},"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/77570c21-edaf-4a07-ac67-94957349e0ba? 200 27ms","method":"GET","requestID":"2ec9e820-18eb-11ef-97dd-97826c0d9de9","responseTime":27,"status":200,"url":"/devices/77570c21-edaf-4a07-ac67-94957349e0ba?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36? 200 27ms","method":"GET","requestID":"2eca0f30-18eb-11ef-97dd-97826c0d9de9","responseTime":27,"status":200,"url":"/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.461543,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9489740e-2314-48d0-9cff-c863ff052e35","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.3404264} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46e605d0-f04f-4690-b998-c28c3eb66c5f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46e605d0-f04f-4690-b998-c28c3eb66c5f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"238575bc-7ea5-40f7-9302-89bb8d938cba","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.3424804} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c25c57ea-c13e-48dc-aaa6-6cb4e4b0d9d3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.34297} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","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 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":"2eccf560-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} 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":"f88fb5946d1d0d08e17e36ea7ea73d5e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} device-1 | {"level":"info","message":"POST /devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/signaling 200 18ms","method":"POST","requestID":"2eccf560-18eb-11ef-97dd-97826c0d9de9","responseTime":18,"status":200,"url":"/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1561c83c-c826-41c9-815f-dadbf99dbfe8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.3538377} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.894043,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","object_type":"device","rebac_allow":false,"scope_allow":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":"2ecea310-18eb-11ef-97dd-97826c0d9de9"},"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/77570c21-edaf-4a07-ac67-94957349e0ba/signaling 200 17ms","method":"POST","requestID":"2ecea310-18eb-11ef-97dd-97826c0d9de9","responseTime":17,"status":200,"url":"/devices/77570c21-edaf-4a07-ac67-94957349e0ba/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"POST /experiments? 201 146ms","method":"POST","requestID":"f88fb5946d1d0d08e17e36ea7ea73d5e","responseTime":146,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:09:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f88fb5946d1d0d08e17e36ea7ea73d5e"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35c03c7b-5aea-4209-b9c7-25cc9382475f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.3723304} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.545764,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4ee4e8cc811a08101bfa6c923bfd5de8","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 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":"2ed1b050-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854582,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/signaling 200 15ms","method":"POST","requestID":"2ed1b050-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"ab7d8382-7a21-4126-b5ed-5213ebbbebbb"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"385ac1bb-dba2-41e0-920c-8a53ddaa98bf"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d60da717-b427-45ee-b3c9-13fe1214dbd2"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ee4e8cc811a08101bfa6c923bfd5de8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.520009073Z"}]},"request_id":"12deef48-b260-4814-a309-ec88755b97aa","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.3857348} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ee4e8cc811a08101bfa6c923bfd5de8"},"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:60464","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.658017,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} 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":"2ed49680-18eb-11ef-97dd-97826c0d9de9"},"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":"23/May/2024:09:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/77570c21-edaf-4a07-ac67-94957349e0ba? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ee4e8cc811a08101bfa6c923bfd5de8"} device-1 | {"level":"info","message":"GET /devices/77570c21-edaf-4a07-ac67-94957349e0ba? 200 16ms","method":"GET","requestID":"4ee4e8cc811a08101bfa6c923bfd5de8","responseTime":16,"status":200,"url":"/devices/77570c21-edaf-4a07-ac67-94957349e0ba?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5b731aaaa9ae2b6182c81e2ec3eb19e5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741986,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458385,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4NX0.t0bu86ipQoPyHHrp9ppYDE7XimbeTMRprc-DRy3ptjg"} 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":"5b731aaaa9ae2b6182c81e2ec3eb19e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"1b2e1109-c3a5-4554-9035-069f4dc4aa94","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.4020264} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"358ff1eb-5e1c-4b8f-b2f3-d34ce258f974","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.4022539} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ed49680-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:44.576539048Z"}]},"request_id":"38cd7ede-df74-4ca0-848e-8861f9970b57","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.4091477} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b731aaaa9ae2b6182c81e2ec3eb19e5"},"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/009dd2da-c9ba-40ff-9bbb-01d942f0bc41'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41'"} 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":"2ed49680-18eb-11ef-97dd-97826c0d9de9","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":"23/May/2024:09:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5b731aaaa9ae2b6182c81e2ec3eb19e5"} device-1 | {"level":"info","message":"GET /devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36? 200 25ms","method":"GET","requestID":"5b731aaaa9ae2b6182c81e2ec3eb19e5","responseTime":25,"status":200,"url":"/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6d7980c-1d8e-4cce-b2df-34afcfb69438","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.4792686} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.397315,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ee27930-18eb-11ef-97dd-97826c0d9de9"},"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/77570c21-edaf-4a07-ac67-94957349e0ba/signaling 200 8ms","method":"POST","requestID":"2ee27930-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/77570c21-edaf-4a07-ac67-94957349e0ba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5b0882c-a537-4b86-b6fc-15a96f11df9d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458385.4892654} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.074573,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","object_type":"device","rebac_allow":false,"scope_allow":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":"2ee3ffd0-18eb-11ef-97dd-97826c0d9de9"},"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/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/signaling 200 8ms","method":"POST","requestID":"2ee3ffd0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/signaling"} device-1 | {"data":{"peerconnection":"009dd2da-c9ba-40ff-9bbb-01d942f0bc41","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"009dd2da-c9ba-40ff-9bbb-01d942f0bc41","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/009dd2da-c9ba-40ff-9bbb-01d942f0bc41' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"009dd2da-c9ba-40ff-9bbb-01d942f0bc41","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":"a04f751ae99a7ae32f89935e58d9efd4","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/77570c21-edaf-4a07-ac67-94957349e0ba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"a04f751ae99a7ae32f89935e58d9efd4","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"a04f751ae99a7ae32f89935e58d9efd4"} device-1 | {"data":{"peerconnection":"009dd2da-c9ba-40ff-9bbb-01d942f0bc41","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"009dd2da-c9ba-40ff-9bbb-01d942f0bc41","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/009dd2da-c9ba-40ff-9bbb-01d942f0bc41' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"009dd2da-c9ba-40ff-9bbb-01d942f0bc41","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":"7c2b4fa1b77da9d7a98b64552639c7b3","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/77570c21-edaf-4a07-ac67-94957349e0ba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F009dd2da-c9ba-40ff-9bbb-01d942f0bc41","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad07aba9-ebd3-4519-a691-c1ce2ec8f841","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.51839} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.232732,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41","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":"301999a0-18eb-11ef-97dd-97826c0d9de9"},"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/009dd2da-c9ba-40ff-9bbb-01d942f0bc41 200 8ms","method":"GET","requestID":"301999a0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"7c2b4fa1b77da9d7a98b64552639c7b3","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c2b4fa1b77da9d7a98b64552639c7b3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a44c613-0d5a-4ce5-8acd-90bc70d6be77","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.5444393} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.300099,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"301d9140-18eb-11ef-97dd-97826c0d9de9"},"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/77570c21-edaf-4a07-ac67-94957349e0ba/signaling 200 9ms","method":"POST","requestID":"301d9140-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/77570c21-edaf-4a07-ac67-94957349e0ba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec01bff9-1088-44bc-90d9-53cedfaf7cb4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.555593} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.953472,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"301f17e0-18eb-11ef-97dd-97826c0d9de9"},"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/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/signaling 200 10ms","method":"POST","requestID":"301f17e0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4d83732f4cc10935e2365fcd47a3a439","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.664515,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458387,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0"} 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":"4d83732f4cc10935e2365fcd47a3a439"},"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/46e605d0-f04f-4690-b998-c28c3eb66c5f"} experiment-1 | {"level":"info","message":"GET /experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f 200 9ms","method":"GET","requestID":"4d83732f4cc10935e2365fcd47a3a439","responseTime":9,"status":200,"url":"/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"} gateway-1 | {"time_local":"23/May/2024:09:59:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d83732f4cc10935e2365fcd47a3a439"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a40d2a7f2434ed235ea50f95028929d8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.732457,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458387,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0"} 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":"a40d2a7f2434ed235ea50f95028929d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.689016,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458387,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0"} 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":"302ab0a0-18eb-11ef-97dd-97826c0d9de9"},"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/009dd2da-c9ba-40ff-9bbb-01d942f0bc41' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"009dd2da-c9ba-40ff-9bbb-01d942f0bc41","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":"bbe92ef89d1c14bd9d1435c0573e69a2","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F009dd2da-c9ba-40ff-9bbb-01d942f0bc41': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F009dd2da-c9ba-40ff-9bbb-01d942f0bc41","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"ca5d2fb7-bffe-4c5c-914c-7765b8155510","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.6428096} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/77570c21-edaf-4a07-ac67-94957349e0ba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b2628693c7cca054f562a1ab8633f72e","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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89f89169-b8e5-44e6-8182-95fb96c19983","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.6431952} 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/77570c21-edaf-4a07-ac67-94957349e0ba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41"}}},"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":"302ab0a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"009dd2da-c9ba-40ff-9bbb-01d942f0bc41","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/009dd2da-c9ba-40ff-9bbb-01d942f0bc41 204 49ms","method":"DELETE","requestID":"302ab0a0-18eb-11ef-97dd-97826c0d9de9","responseTime":49,"status":204,"url":"/peerconnections/009dd2da-c9ba-40ff-9bbb-01d942f0bc41"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77570c21-edaf-4a07-ac67-94957349e0ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9565f12b-7de3-46ce-988f-57a241113232","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.6985977} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.171744,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/77570c21-edaf-4a07-ac67-94957349e0ba","object_type":"device","rebac_allow":false,"scope_allow":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":"303510e0-18eb-11ef-97dd-97826c0d9de9"},"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/77570c21-edaf-4a07-ac67-94957349e0ba/signaling 200 9ms","method":"POST","requestID":"303510e0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/77570c21-edaf-4a07-ac67-94957349e0ba/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46e605d0-f04f-4690-b998-c28c3eb66c5f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46e605d0-f04f-4690-b998-c28c3eb66c5f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"824d1cd6-7a02-4afd-bfde-bcc21e20a0c1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.7054503} 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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8889bd17-62d1-415d-990b-e2f9e4977037","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.7058506} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a40d2a7f2434ed235ea50f95028929d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1e2de45-8a75-4cc7-bf02-4ec2b506ba36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07aa6f8f-ab22-4d94-91cf-ef2a9961260a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.7116091} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.067034,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3036e5a0-18eb-11ef-97dd-97826c0d9de9"},"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/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/signaling 200 11ms","method":"POST","requestID":"3036e5a0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"} gateway-1 | {"time_local":"23/May/2024:09:59:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a40d2a7f2434ed235ea50f95028929d8"} experiment-1 | {"level":"info","message":"DELETE /experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f 204 148ms","method":"DELETE","requestID":"a40d2a7f2434ed235ea50f95028929d8","responseTime":148,"status":204,"url":"/experiments/46e605d0-f04f-4690-b998-c28c3eb66c5f"} gateway-1 | {"time_local":"23/May/2024:09:59:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.601","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7d510fbb8f87d5c550b503195b6dc9a5"} gateway-1 | {"time_local":"23/May/2024:09:59:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.614","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"09c2a3b9d6c806fcfd72ef4cdf8d1d70"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"bbe92ef89d1c14bd9d1435c0573e69a2","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59: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.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"bbe92ef89d1c14bd9d1435c0573e69a2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"b2628693c7cca054f562a1ab8633f72e","responseTime":123,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7f9bcf7c601f4795b14c0eb4f0529ac0","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:09:59: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.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"b2628693c7cca054f562a1ab8633f72e"} 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/77570c21-edaf-4a07-ac67-94957349e0ba' closed"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.98678,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458387,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0"} 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":"7f9bcf7c601f4795b14c0eb4f0529ac0"},"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/d1e2de45-8a75-4cc7-bf02-4ec2b506ba36' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b984c3e-f60c-4e46-9b60-47fef5345cae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"13b3130a-4c1d-4273-a15c-8ace2747efa5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.7937644} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f9bcf7c601f4795b14c0eb4f0529ac0"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd648525-f26a-4e4e-a2c7-687b9c05d8a0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.800521} 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":"7f9bcf7c601f4795b14c0eb4f0529ac0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b984c3e-f60c-4e46-9b60-47fef5345cae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"668420d0-3c17-4539-8574-28cdf7dfb874","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.8138285} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5bab25b-4b1d-4f8e-9049-3942758ac37e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.814175} 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":"7f9bcf7c601f4795b14c0eb4f0529ac0"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b984c3e-f60c-4e46-9b60-47fef5345cae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b984c3e-f60c-4e46-9b60-47fef5345cae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:47.813809803Z"}]},"request_id":"9b9e7cce-22c4-40e7-b55e-1e7ee69ee1b5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.8199883} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f9bcf7c601f4795b14c0eb4f0529ac0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f9bcf7c601f4795b14c0eb4f0529ac0"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"7f9bcf7c601f4795b14c0eb4f0529ac0","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d4027686274fe6337ff5ceedf2c66b56","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.820676,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458387,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0"} 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":"d4027686274fe6337ff5ceedf2c66b56"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86dfb9d6-5da4-4b0a-b233-99b387b7b8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b26e0b70-a090-4c02-99b9-2956d71bc471","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.851787} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4027686274fe6337ff5ceedf2c66b56"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c981d96-b858-43c3-be2a-2b0d2856db07","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.8575075} 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":"d4027686274fe6337ff5ceedf2c66b56"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86dfb9d6-5da4-4b0a-b233-99b387b7b8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"1a745ec3-be46-4dfe-ac5b-b5422c8bbf76","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.8683183} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4aeb7285-0405-41e0-b338-b28ebac3c2b7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.868562} 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":"d4027686274fe6337ff5ceedf2c66b56"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86dfb9d6-5da4-4b0a-b233-99b387b7b8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86dfb9d6-5da4-4b0a-b233-99b387b7b8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:47.868301024Z"}]},"request_id":"7a6d55cb-f1eb-442a-ba89-f1d2769098a4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.873666} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4027686274fe6337ff5ceedf2c66b56"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4027686274fe6337ff5ceedf2c66b56"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"d4027686274fe6337ff5ceedf2c66b56","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3f85fb3c0f22346d2f752d66dc4a304d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.712637,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458387,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0"} 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":"3f85fb3c0f22346d2f752d66dc4a304d"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3299f006-fd07-4774-b8fe-c43ea0bc6dcb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"135bacfd-6f9c-44a4-aeb5-bafe53e4ec31","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.9004214} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f85fb3c0f22346d2f752d66dc4a304d"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29b7c71b-eeaf-4c3c-a451-2cff1c2ff812","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.9049468} 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":"3f85fb3c0f22346d2f752d66dc4a304d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3299f006-fd07-4774-b8fe-c43ea0bc6dcb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"b24fa18b-2d8f-43e1-852a-97671306365f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.916706} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffdc47f0-23a9-4d26-8242-caa536bed280","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.9168162} 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":"3f85fb3c0f22346d2f752d66dc4a304d"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3299f006-fd07-4774-b8fe-c43ea0bc6dcb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3299f006-fd07-4774-b8fe-c43ea0bc6dcb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:47.916693602Z"}]},"request_id":"7c61ba8c-615a-48e1-84dd-2bf1b0d72ebc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.9209156} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f85fb3c0f22346d2f752d66dc4a304d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f85fb3c0f22346d2f752d66dc4a304d"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"3f85fb3c0f22346d2f752d66dc4a304d","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7d9c0a96d0edec05442797182dc23dda","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.683691,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458387,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0"} 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":"7d9c0a96d0edec05442797182dc23dda"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb921a3a4-90e4-44fb-be32-35d3faeefc81","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bc3392fd-0b4e-454c-ad86-0eef527446de","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.945319} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d9c0a96d0edec05442797182dc23dda"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0e2bb5f-2d31-4372-931f-68c6a2f282dd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.9502635} 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":"7d9c0a96d0edec05442797182dc23dda"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb921a3a4-90e4-44fb-be32-35d3faeefc81","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"fd4b0576-171c-4b61-8b83-04dc78e07ecf","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.960027} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7c6f7c4-aff6-4461-b164-7eff1919eb4e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.9602363} 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":"7d9c0a96d0edec05442797182dc23dda"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb921a3a4-90e4-44fb-be32-35d3faeefc81","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb921a3a4-90e4-44fb-be32-35d3faeefc81","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:47.960010327Z"}]},"request_id":"05780412-b912-4d8b-854b-edc6637d41ac","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.9638665} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d9c0a96d0edec05442797182dc23dda"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d9c0a96d0edec05442797182dc23dda"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"7d9c0a96d0edec05442797182dc23dda","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0db542546d80ef5a233fbd766138b0b0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.7139,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458387,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4N30.w8Utq1AXwW7oTiUodiZzW8Ey0ZSRtNVnOI0RzANkCx0"} 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":"0db542546d80ef5a233fbd766138b0b0"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe65b8a72-2688-4aee-a2dc-93a3584a42dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a33af4ad-9e58-4e9e-a463-55493db152e1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.9859545} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0db542546d80ef5a233fbd766138b0b0"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c227927d-fb5a-400b-86ab-317cb4b525ed","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458387.9907699} 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":"0db542546d80ef5a233fbd766138b0b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe65b8a72-2688-4aee-a2dc-93a3584a42dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"92e34039-e6b6-4186-a151-53fb1270550f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.0015175} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1235a93-932e-426c-bc61-a898b3461f38","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.0018144} 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":"0db542546d80ef5a233fbd766138b0b0"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe65b8a72-2688-4aee-a2dc-93a3584a42dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe65b8a72-2688-4aee-a2dc-93a3584a42dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.001500262Z"}]},"request_id":"205a7997-aad3-490c-a29b-15924988a136","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.006138} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0db542546d80ef5a233fbd766138b0b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0db542546d80ef5a233fbd766138b0b0"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"0db542546d80ef5a233fbd766138b0b0","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8499696ef95a91ef23391980ae9fee27","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.933834,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"8499696ef95a91ef23391980ae9fee27"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892914ce-6c2f-4fd3-9e3d-06b9afda5a4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"184d1e15-a467-4b48-a145-0e0c1c258dad","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.0286393} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8499696ef95a91ef23391980ae9fee27"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16a08716-66d9-4eda-a24c-891496ca6bb9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.0329} 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":"8499696ef95a91ef23391980ae9fee27"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892914ce-6c2f-4fd3-9e3d-06b9afda5a4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"3c403d7e-dfed-4614-ae8a-5776bb50b939","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.0425353} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c1d8621-a5dd-4e29-b55f-293f1ca33d1d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.0427303} 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":"8499696ef95a91ef23391980ae9fee27"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892914ce-6c2f-4fd3-9e3d-06b9afda5a4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892914ce-6c2f-4fd3-9e3d-06b9afda5a4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.042522722Z"}]},"request_id":"d451d4ea-a6ae-48c5-9e0b-e046876392c9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.0464962} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8499696ef95a91ef23391980ae9fee27"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8499696ef95a91ef23391980ae9fee27"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"8499696ef95a91ef23391980ae9fee27","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"43a168773ae6a725abf0905542061bf3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.773995,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"43a168773ae6a725abf0905542061bf3"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff3c828d-fd71-4431-a986-a9718dcbb25e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b484273b-e0bf-4630-9dce-e1d3765c319a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.0676894} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43a168773ae6a725abf0905542061bf3"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a870ca6-d90d-421a-9522-909ee449e69f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.0720816} 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":"43a168773ae6a725abf0905542061bf3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff3c828d-fd71-4431-a986-a9718dcbb25e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"f4681606-dc32-47b3-9daf-64d23ce51fe2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.082123} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca7488e7-2d6c-444c-9b4a-37bfa97417ac","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.0822062} 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":"43a168773ae6a725abf0905542061bf3"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff3c828d-fd71-4431-a986-a9718dcbb25e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff3c828d-fd71-4431-a986-a9718dcbb25e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.082104470Z"}]},"request_id":"b7d815e1-b784-4933-982e-c71d4d59ceed","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.0862145} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43a168773ae6a725abf0905542061bf3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"43a168773ae6a725abf0905542061bf3"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"43a168773ae6a725abf0905542061bf3","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e70f5c7f9f344f79cc0757dd57ec3b3a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.653465,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"e70f5c7f9f344f79cc0757dd57ec3b3a"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4781e8f-8721-41de-9d08-871bc22a0ebb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"088d1be2-e1ff-43fd-a78c-341f40024b60","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.1092951} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e70f5c7f9f344f79cc0757dd57ec3b3a"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b79e94b4-e89b-4837-9477-fd47bfe412c4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.1141095} 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":"e70f5c7f9f344f79cc0757dd57ec3b3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4781e8f-8721-41de-9d08-871bc22a0ebb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"659fe8b8-7df2-407f-b27d-9118fa10b275","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.123588} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"143c3812-148b-4cda-9400-9eaa94ab4fdc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.1239445} 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":"e70f5c7f9f344f79cc0757dd57ec3b3a"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4781e8f-8721-41de-9d08-871bc22a0ebb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4781e8f-8721-41de-9d08-871bc22a0ebb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.123575193Z"}]},"request_id":"1868c5e0-dd74-4b4c-a6d0-b203b266d32e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.1276488} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e70f5c7f9f344f79cc0757dd57ec3b3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e70f5c7f9f344f79cc0757dd57ec3b3a"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"e70f5c7f9f344f79cc0757dd57ec3b3a","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d99a0c4e6ec0435a87ee23b481168dec","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.232786,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"d99a0c4e6ec0435a87ee23b481168dec"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad1eeec4-52ea-4f60-9b0d-753062456e9f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d1e1937c-22fa-4be6-8dcd-673fab7b19a2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.1498237} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d99a0c4e6ec0435a87ee23b481168dec"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1836c44a-3730-4f53-9651-09a5916bae34","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.153974} 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":"d99a0c4e6ec0435a87ee23b481168dec"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad1eeec4-52ea-4f60-9b0d-753062456e9f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"1ad62379-2433-48af-921e-360088578a1d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.1632833} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ba2f3a9-d1c3-4b9d-8437-e87d2ebcefde","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.1633167} 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":"d99a0c4e6ec0435a87ee23b481168dec"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad1eeec4-52ea-4f60-9b0d-753062456e9f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad1eeec4-52ea-4f60-9b0d-753062456e9f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.163260882Z"}]},"request_id":"e1ac7279-62bb-4ddf-8511-0d6f326048d4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.167329} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d99a0c4e6ec0435a87ee23b481168dec"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d99a0c4e6ec0435a87ee23b481168dec"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"d99a0c4e6ec0435a87ee23b481168dec","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"427b300a1293c6356f5598728610c672","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.733303,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"427b300a1293c6356f5598728610c672"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc87ad8b0-1901-4e95-a5d7-4fe6610ea08a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ca9fb601-8fdb-4b85-b7e8-8bc7a2236977","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.191391} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"427b300a1293c6356f5598728610c672"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d62324ad-9e43-4c24-8bcd-35fbee1e2273","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.1969163} 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":"427b300a1293c6356f5598728610c672"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc87ad8b0-1901-4e95-a5d7-4fe6610ea08a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"abc8f331-7b6b-4d1b-9591-1e9c1c831f14","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.2076705} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82b6e192-c12b-466f-9f50-f242000b86ab","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.2078707} 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":"427b300a1293c6356f5598728610c672"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc87ad8b0-1901-4e95-a5d7-4fe6610ea08a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc87ad8b0-1901-4e95-a5d7-4fe6610ea08a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.207656639Z"}]},"request_id":"2307e78d-14e0-421b-bb59-5324567d7a30","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.2114646} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"427b300a1293c6356f5598728610c672"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"323","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"427b300a1293c6356f5598728610c672"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"427b300a1293c6356f5598728610c672","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51fdd1c346c3ff9ccb5070d93ba5b95b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.669997,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"51fdd1c346c3ff9ccb5070d93ba5b95b"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1c714-5191-4abc-a6c8-f80d85b5984f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ab85beae-da37-42fc-8173-c2cf99594614","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.2346215} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51fdd1c346c3ff9ccb5070d93ba5b95b"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83c7c180-6454-47ba-916d-1ca93f96ecc6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.238691} 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":"51fdd1c346c3ff9ccb5070d93ba5b95b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1c714-5191-4abc-a6c8-f80d85b5984f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"580e74bb-a42e-4b46-aeac-3588d9115a09","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.2849784} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07fbbcce-7885-4c9c-bff9-463fda4cb5ad","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.285196} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51fdd1c346c3ff9ccb5070d93ba5b95b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":48}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1c714-5191-4abc-a6c8-f80d85b5984f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1c714-5191-4abc-a6c8-f80d85b5984f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.284961953Z"}]},"request_id":"39664624-ee79-43fe-8522-2fcbe660b842","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.2893865} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51fdd1c346c3ff9ccb5070d93ba5b95b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1249","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51fdd1c346c3ff9ccb5070d93ba5b95b"} device-1 | {"level":"info","message":"POST /devices? 201 73ms","method":"POST","requestID":"51fdd1c346c3ff9ccb5070d93ba5b95b","responseTime":73,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cca0f4625eaea8a7f3690f0c2ca0370f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.683485,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"cca0f4625eaea8a7f3690f0c2ca0370f"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10643778-7e9a-4646-aeb6-b9fc378e5677","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"16c63c52-4dab-4bb9-8d28-227a9bb56d33","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.3138433} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cca0f4625eaea8a7f3690f0c2ca0370f"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"905dc8c2-b7c2-463d-b77b-af4e40041343","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.3181949} 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":"cca0f4625eaea8a7f3690f0c2ca0370f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10643778-7e9a-4646-aeb6-b9fc378e5677","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"6e15702c-6e89-4e6f-9948-46bceaee11a7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.327273} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70aed24c-9fc6-4ccc-86e9-ae2002dd6723","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.3275256} 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":"cca0f4625eaea8a7f3690f0c2ca0370f"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10643778-7e9a-4646-aeb6-b9fc378e5677","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10643778-7e9a-4646-aeb6-b9fc378e5677","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.327252008Z"}]},"request_id":"577d6212-1643-4d12-be12-3deeafa158bd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.3311453} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cca0f4625eaea8a7f3690f0c2ca0370f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"cca0f4625eaea8a7f3690f0c2ca0370f","responseTime":36,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1572","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cca0f4625eaea8a7f3690f0c2ca0370f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5a499b3891e7da1863f5dd8f5871d771","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.701995,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"5a499b3891e7da1863f5dd8f5871d771"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe746cb8f-21fa-4e5f-bf18-971e953eed1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cd475a39-8a94-442c-87a2-9966eff20ce4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.3517175} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a499b3891e7da1863f5dd8f5871d771"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c6773da-5d35-4a63-a9fa-3e8653f5b01a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.3556716} 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":"5a499b3891e7da1863f5dd8f5871d771"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe746cb8f-21fa-4e5f-bf18-971e953eed1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"34ecdcf5-d5b6-4acd-9d24-af58eba5796c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.3650475} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"412a8617-5843-4ae8-84bf-0908d86cb097","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.365183} 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":"5a499b3891e7da1863f5dd8f5871d771"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe746cb8f-21fa-4e5f-bf18-971e953eed1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe746cb8f-21fa-4e5f-bf18-971e953eed1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.365028336Z"}]},"request_id":"e6709a34-c997-4217-acbd-f3de19e002eb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.3694823} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a499b3891e7da1863f5dd8f5871d771"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1250","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a499b3891e7da1863f5dd8f5871d771"} device-1 | {"level":"info","message":"POST /devices? 201 33ms","method":"POST","requestID":"5a499b3891e7da1863f5dd8f5871d771","responseTime":33,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"15b73cf027c05004fc727a7abb4d2925","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.653182,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15b73cf027c05004fc727a7abb4d2925"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1c714-5191-4abc-a6c8-f80d85b5984f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1c714-5191-4abc-a6c8-f80d85b5984f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.284961953Z"}]},"request_id":"b3931322-de39-4d4c-9c30-0c74131dec89","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.386866} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15b73cf027c05004fc727a7abb4d2925"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c63ed7c1-061f-4c1d-bd30-65c1924b6129","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.3914487} 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":"15b73cf027c05004fc727a7abb4d2925"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1c714-5191-4abc-a6c8-f80d85b5984f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1c714-5191-4abc-a6c8-f80d85b5984f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.284961953Z"}]},"request_id":"410a28c4-f9fa-4678-bd90-be1cf94fa916","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.4027278} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15b73cf027c05004fc727a7abb4d2925"},"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/6cf1c714-5191-4abc-a6c8-f80d85b5984f? 200 27ms","method":"PATCH","requestID":"15b73cf027c05004fc727a7abb4d2925","responseTime":27,"status":200,"url":"/devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f?"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f? HTTP/1.1","status": "200","body_bytes_sent":"1321","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15b73cf027c05004fc727a7abb4d2925"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"120c89805d6f4b8493fb33d3f21ea73e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713681,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/10643778-7e9a-4646-aeb6-b9fc378e5677","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/10643778-7e9a-4646-aeb6-b9fc378e5677","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"120c89805d6f4b8493fb33d3f21ea73e"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10643778-7e9a-4646-aeb6-b9fc378e5677","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10643778-7e9a-4646-aeb6-b9fc378e5677","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.327252008Z"}]},"request_id":"2bf3690f-38e8-4efb-a1f0-81ec125f5b54","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.4186752} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"120c89805d6f4b8493fb33d3f21ea73e"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef49bd7c-bd2b-4bb8-ad80-f5864a0b3884","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.42294} 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":"120c89805d6f4b8493fb33d3f21ea73e"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10643778-7e9a-4646-aeb6-b9fc378e5677","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10643778-7e9a-4646-aeb6-b9fc378e5677","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.327252008Z"}]},"request_id":"2559aedc-289c-434b-ab7a-b50445ded915","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.4314647} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"120c89805d6f4b8493fb33d3f21ea73e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/10643778-7e9a-4646-aeb6-b9fc378e5677? HTTP/1.1","status": "200","body_bytes_sent":"1716","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"120c89805d6f4b8493fb33d3f21ea73e"} device-1 | {"level":"info","message":"PATCH /devices/10643778-7e9a-4646-aeb6-b9fc378e5677? 200 24ms","method":"PATCH","requestID":"120c89805d6f4b8493fb33d3f21ea73e","responseTime":24,"status":200,"url":"/devices/10643778-7e9a-4646-aeb6-b9fc378e5677?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"07f0e7be32eee274b4498432fc285684","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639034,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07f0e7be32eee274b4498432fc285684"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe746cb8f-21fa-4e5f-bf18-971e953eed1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe746cb8f-21fa-4e5f-bf18-971e953eed1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.365028336Z"}]},"request_id":"7ca3c3ad-e81a-44a3-9972-2a6dc8bb5f1c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.4466152} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07f0e7be32eee274b4498432fc285684"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48363ba3-8277-492d-8223-fc8ab142f68c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.451421} 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":"07f0e7be32eee274b4498432fc285684"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe746cb8f-21fa-4e5f-bf18-971e953eed1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe746cb8f-21fa-4e5f-bf18-971e953eed1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.365028336Z"}]},"request_id":"7f251509-661b-41c0-bc83-b30969e88751","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.4597702} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07f0e7be32eee274b4498432fc285684"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a? HTTP/1.1","status": "200","body_bytes_sent":"1322","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07f0e7be32eee274b4498432fc285684"} device-1 | {"level":"info","message":"PATCH /devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a? 200 23ms","method":"PATCH","requestID":"07f0e7be32eee274b4498432fc285684","responseTime":23,"status":200,"url":"/devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"14f77f5aab16106412f4d0e803219199","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667287,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"14f77f5aab16106412f4d0e803219199"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1c714-5191-4abc-a6c8-f80d85b5984f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cf1c714-5191-4abc-a6c8-f80d85b5984f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.284961953Z"}]},"request_id":"113fcea7-8217-4935-bb46-8bee201fecae","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.4744487} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14f77f5aab16106412f4d0e803219199"},"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:60464","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.967272,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.614205,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b984c3e-f60c-4e46-9b60-47fef5345cae","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/9b984c3e-f60c-4e46-9b60-47fef5345cae","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"14f77f5aab16106412f4d0e803219199"},"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/86dfb9d6-5da4-4b0a-b233-99b387b7b8e7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/86dfb9d6-5da4-4b0a-b233-99b387b7b8e7","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"14f77f5aab16106412f4d0e803219199"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:49710","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49724","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49710","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.973579,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49724","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756614,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3299f006-fd07-4774-b8fe-c43ea0bc6dcb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3299f006-fd07-4774-b8fe-c43ea0bc6dcb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"14f77f5aab16106412f4d0e803219199"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10643778-7e9a-4646-aeb6-b9fc378e5677","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/10643778-7e9a-4646-aeb6-b9fc378e5677","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"14f77f5aab16106412f4d0e803219199"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f? HTTP/1.1","status": "200","body_bytes_sent":"1321","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"14f77f5aab16106412f4d0e803219199"} device-1 | {"level":"info","message":"GET /devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f? 200 31ms","method":"GET","requestID":"14f77f5aab16106412f4d0e803219199","responseTime":31,"status":200,"url":"/devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f506d01f215ef453ecf8d705552fd3fa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.277775,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10643778-7e9a-4646-aeb6-b9fc378e5677","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/10643778-7e9a-4646-aeb6-b9fc378e5677","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f506d01f215ef453ecf8d705552fd3fa"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10643778-7e9a-4646-aeb6-b9fc378e5677","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10643778-7e9a-4646-aeb6-b9fc378e5677","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.327252008Z"}]},"request_id":"5f753c95-36b7-4f64-936a-538607ddbd14","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.5109773} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f506d01f215ef453ecf8d705552fd3fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662409,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49710","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932802,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49710","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.885833,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49724","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b921a3a4-90e4-44fb-be32-35d3faeefc81","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/b921a3a4-90e4-44fb-be32-35d3faeefc81","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f506d01f215ef453ecf8d705552fd3fa"},"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/e65b8a72-2688-4aee-a2dc-93a3584a42dc","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e65b8a72-2688-4aee-a2dc-93a3584a42dc","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f506d01f215ef453ecf8d705552fd3fa"},"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/892914ce-6c2f-4fd3-9e3d-06b9afda5a4a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/892914ce-6c2f-4fd3-9e3d-06b9afda5a4a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f506d01f215ef453ecf8d705552fd3fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:49724","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.466816,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff3c828d-fd71-4431-a986-a9718dcbb25e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/ff3c828d-fd71-4431-a986-a9718dcbb25e","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"f506d01f215ef453ecf8d705552fd3fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49732","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762338,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"f506d01f215ef453ecf8d705552fd3fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:49732","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.94123,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"f506d01f215ef453ecf8d705552fd3fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/10643778-7e9a-4646-aeb6-b9fc378e5677? HTTP/1.1","status": "200","body_bytes_sent":"1716","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f506d01f215ef453ecf8d705552fd3fa"} device-1 | {"level":"info","message":"GET /devices/10643778-7e9a-4646-aeb6-b9fc378e5677? 200 32ms","method":"GET","requestID":"f506d01f215ef453ecf8d705552fd3fa","responseTime":32,"status":200,"url":"/devices/10643778-7e9a-4646-aeb6-b9fc378e5677?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"48d96fc916b162f60dca6ac19d93957c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.892373,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48d96fc916b162f60dca6ac19d93957c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe746cb8f-21fa-4e5f-bf18-971e953eed1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe746cb8f-21fa-4e5f-bf18-971e953eed1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.365028336Z"}]},"request_id":"1d137e72-bc63-481a-8f6e-5ab6c5d53a74","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.5467632} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48d96fc916b162f60dca6ac19d93957c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.603266,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49710","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778221,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49710","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725371,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4781e8f-8721-41de-9d08-871bc22a0ebb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f4781e8f-8721-41de-9d08-871bc22a0ebb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48d96fc916b162f60dca6ac19d93957c"},"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/ad1eeec4-52ea-4f60-9b0d-753062456e9f","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/ad1eeec4-52ea-4f60-9b0d-753062456e9f","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48d96fc916b162f60dca6ac19d93957c"},"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/c87ad8b0-1901-4e95-a5d7-4fe6610ea08a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/c87ad8b0-1901-4e95-a5d7-4fe6610ea08a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48d96fc916b162f60dca6ac19d93957c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:49724","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49724","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871128,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6cf1c714-5191-4abc-a6c8-f80d85b5984f","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"48d96fc916b162f60dca6ac19d93957c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a? HTTP/1.1","status": "200","body_bytes_sent":"1322","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"48d96fc916b162f60dca6ac19d93957c"} device-1 | {"level":"info","message":"GET /devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a? 200 23ms","method":"GET","requestID":"48d96fc916b162f60dca6ac19d93957c","responseTime":23,"status":200,"url":"/devices/e746cb8f-21fa-4e5f-bf18-971e953eed1a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc84389a6eb736c289f5d07f0b3a22e7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.657865,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"dc84389a6eb736c289f5d07f0b3a22e7"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"87496cf2-6b44-4e04-b58f-e00504134491","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.614599} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc84389a6eb736c289f5d07f0b3a22e7"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"832931ad-c3df-4321-9935-6159a59669b1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.618893} 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":"dc84389a6eb736c289f5d07f0b3a22e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"18d7f63d-2646-4edb-ac38-b89c4becfcc3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.6307046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9023e718-dc54-4726-af48-2d3837f19474","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.6308296} 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":"dc84389a6eb736c289f5d07f0b3a22e7"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.630679709Z"}]},"request_id":"e18d9f23-4fc1-4f14-8aa8-7bb6f9876670","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.6347587} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc84389a6eb736c289f5d07f0b3a22e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"329","request_time":"0.073","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc84389a6eb736c289f5d07f0b3a22e7"} device-1 | {"level":"info","message":"POST /devices? 201 68ms","method":"POST","requestID":"dc84389a6eb736c289f5d07f0b3a22e7","responseTime":68,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"458cc92d1a8888ff6ac310fe44622201","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.671564,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"458cc92d1a8888ff6ac310fe44622201"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b142f3c-fcbd-4abb-99a9-748f4a0167dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d8ee3440-5af0-49e5-b747-45049dd97c49","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.6553733} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"458cc92d1a8888ff6ac310fe44622201"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e99ae3d3-6a06-405a-892e-aa8f93e8e9e3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.6601932} 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":"458cc92d1a8888ff6ac310fe44622201"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b142f3c-fcbd-4abb-99a9-748f4a0167dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"1d453266-a410-4c31-9878-a250a36ddca7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.6694677} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87803811-fc04-41ba-964c-740d32517328","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.6696737} 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":"458cc92d1a8888ff6ac310fe44622201"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b142f3c-fcbd-4abb-99a9-748f4a0167dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b142f3c-fcbd-4abb-99a9-748f4a0167dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.669447903Z"}]},"request_id":"349e7d10-15ee-440a-9c78-0e21378b5e60","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.6735806} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"458cc92d1a8888ff6ac310fe44622201"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"635","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"458cc92d1a8888ff6ac310fe44622201"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"458cc92d1a8888ff6ac310fe44622201","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6c3b223183da68e299fd127003b6264a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.69646,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458388,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM4OH0.AOuVa-fak_6jmNYYZM0qpBWGtD18glfsODLQXcACfCc"} 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":"6c3b223183da68e299fd127003b6264a"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3957487e-0a0c-40d9-a066-c212a4fd72a6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.6950655} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c3b223183da68e299fd127003b6264a"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3659cd9a-df0a-4abf-b5a2-0894c0d899f1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.6995077} 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":"6c3b223183da68e299fd127003b6264a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"3b789484-94f0-42e3-91e6-0988a7a5e6b7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.7102199} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c2b0d27-02f3-4ad0-b5f3-a18718b87798","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.7103577} 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":"6c3b223183da68e299fd127003b6264a"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.710204008Z"}]},"request_id":"afef4612-1477-4d12-a2c9-d90bf28aa1e6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458388.7142632} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c3b223183da68e299fd127003b6264a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c3b223183da68e299fd127003b6264a"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"6c3b223183da68e299fd127003b6264a","responseTime":36,"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":"f558a9f7e993b06d5bdd52a1f2b73202","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eb13a33c0450c55ff709a6b158505c5c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:09:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/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":"f558a9f7e993b06d5bdd52a1f2b73202"} device-1 | {"level":"info","message":"OPTIONS /devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/websocket 200 1ms","method":"OPTIONS","requestID":"f558a9f7e993b06d5bdd52a1f2b73202","responseTime":1,"status":200,"url":"/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/websocket"} gateway-1 | {"time_local":"23/May/2024:09:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/075ea62b-1d59-421b-90a3-41456d543a13/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":"eb13a33c0450c55ff709a6b158505c5c"} device-1 | {"level":"info","message":"OPTIONS /devices/075ea62b-1d59-421b-90a3-41456d543a13/websocket 200 1ms","method":"OPTIONS","requestID":"eb13a33c0450c55ff709a6b158505c5c","responseTime":1,"status":200,"url":"/devices/075ea62b-1d59-421b-90a3-41456d543a13/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"da6692f3149c999f98b5c9e379c8d052","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"97ab83a4cb6c3e11b088e9bc409907f2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.261225,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da6692f3149c999f98b5c9e379c8d052"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.964647,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} 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":"97ab83a4cb6c3e11b088e9bc409907f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"da6692f3149c999f98b5c9e379c8d052"} device-1 | {"level":"info","message":"POST /devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/websocket 200 33ms","method":"POST","requestID":"da6692f3149c999f98b5c9e379c8d052","responseTime":33,"status":200,"url":"/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/075ea62b-1d59-421b-90a3-41456d543a13/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":"97ab83a4cb6c3e11b088e9bc409907f2"} device-1 | {"level":"info","message":"POST /devices/075ea62b-1d59-421b-90a3-41456d543a13/websocket 200 39ms","method":"POST","requestID":"97ab83a4cb6c3e11b088e9bc409907f2","responseTime":39,"status":200,"url":"/devices/075ea62b-1d59-421b-90a3-41456d543a13/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a2d8676196bd5e61127684a1c9f27e52","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.063544,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2d8676196bd5e61127684a1c9f27e52"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.710204008Z"}]},"request_id":"32cddaa5-5439-425b-acda-99d2e50ecb75","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.7044578} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2d8676196bd5e61127684a1c9f27e52"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/075ea62b-1d59-421b-90a3-41456d543a13? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2d8676196bd5e61127684a1c9f27e52"} device-1 | {"level":"info","message":"GET /devices/075ea62b-1d59-421b-90a3-41456d543a13? 200 14ms","method":"GET","requestID":"a2d8676196bd5e61127684a1c9f27e52","responseTime":14,"status":200,"url":"/devices/075ea62b-1d59-421b-90a3-41456d543a13?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cb2324f89c10301229f4f3313507f5ed","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:60464","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.628141,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} 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":"cb2324f89c10301229f4f3313507f5ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"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:60464","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684839,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b142f3c-fcbd-4abb-99a9-748f4a0167dc","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4b142f3c-fcbd-4abb-99a9-748f4a0167dc","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32064e70-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.795553,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32069c90-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b142f3c-fcbd-4abb-99a9-748f4a0167dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b142f3c-fcbd-4abb-99a9-748f4a0167dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.669447903Z"}]},"request_id":"e34ae341-013b-4515-ab9f-db575dc3cb65","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.7522314} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32064e70-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.710204008Z"}]},"request_id":"860ba913-2619-4222-9835-5e65429b7baa","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.7549841} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32069c90-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715987,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32064e70-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4b142f3c-fcbd-4abb-99a9-748f4a0167dc? 200 20ms","method":"GET","requestID":"32064e70-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/4b142f3c-fcbd-4abb-99a9-748f4a0167dc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/075ea62b-1d59-421b-90a3-41456d543a13? 200 20ms","method":"GET","requestID":"32069c90-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/075ea62b-1d59-421b-90a3-41456d543a13?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"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/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681421,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32101270-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6849,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32106090-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.630679709Z"}]},"request_id":"3cf9d5cc-0273-4241-bbd3-db5831cb0da3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.8187628} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b0773bb-2056-4e9c-9af2-8e338b44a3c1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.8189332} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32101270-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.710204008Z"}]},"request_id":"e5257bca-ccc9-402e-9d99-0fca288dd4d4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.8198197} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.387347,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3210aeb0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32106090-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"2d6808ca-85b5-45b7-99c0-7480bc318b16","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.8254845} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67f3d8fb-5d85-467f-8db1-3d9fc42f42d1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.825707} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"cb2324f89c10301229f4f3313507f5ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"GET /devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077? 200 21ms","method":"GET","requestID":"32101270-18eb-11ef-97dd-97826c0d9de9","responseTime":21,"status":200,"url":"/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/signaling 200 18ms","method":"POST","requestID":"3210aeb0-18eb-11ef-97dd-97826c0d9de9","responseTime":18,"status":200,"url":"/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/075ea62b-1d59-421b-90a3-41456d543a13? 200 21ms","method":"GET","requestID":"32106090-18eb-11ef-97dd-97826c0d9de9","responseTime":21,"status":200,"url":"/devices/075ea62b-1d59-421b-90a3-41456d543a13?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:09:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb2324f89c10301229f4f3313507f5ed"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"312da217-ced2-4b25-8156-065038121046","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.8372793} experiment-1 | {"level":"info","message":"POST /experiments? 201 122ms","method":"POST","requestID":"cb2324f89c10301229f4f3313507f5ed","responseTime":122,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.751634,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3213e300-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ceabf43-c848-49a9-9be2-3836c9d3e277","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.8394387} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.736368,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32143120-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0e2bb42e75893511f610c4a7598d7290","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/075ea62b-1d59-421b-90a3-41456d543a13/signaling 200 13ms","method":"POST","requestID":"3213e300-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/075ea62b-1d59-421b-90a3-41456d543a13/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/signaling 200 15ms","method":"POST","requestID":"32143120-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7718,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e2bb42e75893511f610c4a7598d7290"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.630679709Z"}]},"request_id":"b2e855a8-77f7-4919-98fa-0ab5994fb10d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.8578038} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"948677d4-7996-45da-accd-8d5a63bd6f9c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.8579988} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e2bb42e75893511f610c4a7598d7290"},"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:60464","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.27339,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","object_type":"device","rebac_allow":false,"scope_allow":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":"3216c930-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077? HTTP/1.1","status": "200","body_bytes_sent":"328","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e2bb42e75893511f610c4a7598d7290"} device-1 | {"level":"info","message":"GET /devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077? 200 18ms","method":"GET","requestID":"0e2bb42e75893511f610c4a7598d7290","responseTime":18,"status":200,"url":"/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/075ea62b-1d59-421b-90a3-41456d543a13/signaling 200 14ms","method":"POST","requestID":"3216c930-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/075ea62b-1d59-421b-90a3-41456d543a13/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c043a7f9-cd4a-49db-9671-4e4386ca1a3a"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"831a41a7-75dd-4b26-9d35-6836ebbddec3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"96b9e1f8-e8bd-490b-bb59-2764d5152388"}]},"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/f73bdbc2-2541-4bf2-8adb-b5a40d224077"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5feaaebaf5c582216a25e49d24d5609a","responseTime":2,"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:60464","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.803198,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} 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":"32196140-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.549252,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458390,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MH0.iLW-JLgbOizPK0PhNpzs82V63ozFNWZsUMkp9IPWPik"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5feaaebaf5c582216a25e49d24d5609a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:48.710204008Z"}]},"request_id":"fcae94af-0385-40bc-acd8-abefc615abb7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.8788671} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5feaaebaf5c582216a25e49d24d5609a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/075ea62b-1d59-421b-90a3-41456d543a13? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5feaaebaf5c582216a25e49d24d5609a"} device-1 | {"level":"info","message":"GET /devices/075ea62b-1d59-421b-90a3-41456d543a13? 200 14ms","method":"GET","requestID":"5feaaebaf5c582216a25e49d24d5609a","responseTime":14,"status":200,"url":"/devices/075ea62b-1d59-421b-90a3-41456d543a13?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"07f0b498-935a-4a81-808b-fa6e0ab09daf","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.8849027} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb577834-8c45-401b-8b86-f9aa2ac56e6f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.8853261} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32196140-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"32196140-18eb-11ef-97dd-97826c0d9de9","responseTime":47,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8446e58-a685-4822-a612-77695f2399a1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.9498017} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.234674,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","object_type":"device","rebac_allow":false,"scope_allow":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":"32252110-18eb-11ef-97dd-97826c0d9de9"},"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/f73bdbc2-2541-4bf2-8adb-b5a40d224077/signaling 200 9ms","method":"POST","requestID":"32252110-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"344a04d4-0f16-4c69-b3e2-1f26ddfbd0ab","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458390.9624715} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.728915,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","object_type":"device","rebac_allow":false,"scope_allow":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":"3226f5d0-18eb-11ef-97dd-97826c0d9de9"},"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/075ea62b-1d59-421b-90a3-41456d543a13/signaling 200 14ms","method":"POST","requestID":"3226f5d0-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/075ea62b-1d59-421b-90a3-41456d543a13/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f356b942-3529-4727-94a0-bf621f7d5b86","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":"35c2e252bdbd57d1a6010a92b2ae1021","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/f73bdbc2-2541-4bf2-8adb-b5a40d224077"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"35c2e252bdbd57d1a6010a92b2ae1021","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"35c2e252bdbd57d1a6010a92b2ae1021"} device-1 | {"data":{"peerconnection":"f356b942-3529-4727-94a0-bf621f7d5b86","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f356b942-3529-4727-94a0-bf621f7d5b86","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/f356b942-3529-4727-94a0-bf621f7d5b86' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f356b942-3529-4727-94a0-bf621f7d5b86","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":"2172b73a5ac7963ee1c278fef73446a2","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/f73bdbc2-2541-4bf2-8adb-b5a40d224077"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff356b942-3529-4727-94a0-bf621f7d5b86","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a8c1b15-0ffe-4514-80d1-a3d2f426b366","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.0774314} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.171541,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86","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":"3238a910-18eb-11ef-97dd-97826c0d9de9"},"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/f356b942-3529-4727-94a0-bf621f7d5b86 200 8ms","method":"GET","requestID":"3238a910-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"2172b73a5ac7963ee1c278fef73446a2","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"2172b73a5ac7963ee1c278fef73446a2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3848e1b5-1576-48de-9c2f-1a901e4c4115","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.1016812} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.057289,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"323c5290-18eb-11ef-97dd-97826c0d9de9"},"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/f73bdbc2-2541-4bf2-8adb-b5a40d224077/signaling 200 9ms","method":"POST","requestID":"323c5290-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8aa91fa-76f1-45fb-b81d-4184d3999119","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.1121137} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.383713,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","object_type":"device","rebac_allow":false,"scope_allow":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":"323e0040-18eb-11ef-97dd-97826c0d9de9"},"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/075ea62b-1d59-421b-90a3-41456d543a13/signaling 200 8ms","method":"POST","requestID":"323e0040-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/075ea62b-1d59-421b-90a3-41456d543a13/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eae02d9deb5708742503f72f71eb058a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.70929,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458391,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM"} 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":"eae02d9deb5708742503f72f71eb058a"},"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/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52 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":"eae02d9deb5708742503f72f71eb058a"} experiment-1 | {"level":"info","message":"GET /experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52 200 9ms","method":"GET","requestID":"eae02d9deb5708742503f72f71eb058a","responseTime":9,"status":200,"url":"/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"184baf12d35beabd71585bfc91b836dd","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.931477,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458391,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM"} 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":"184baf12d35beabd71585bfc91b836dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.686847,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458391,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM"} 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":"32448ff0-18eb-11ef-97dd-97826c0d9de9"},"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/f356b942-3529-4727-94a0-bf621f7d5b86' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f356b942-3529-4727-94a0-bf621f7d5b86","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":"a96442ca5829ee8fada6283347a559b3","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"26bfaca5c505a8d53f1ac904e9eca057","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/f73bdbc2-2541-4bf2-8adb-b5a40d224077"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff356b942-3529-4727-94a0-bf621f7d5b86': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff356b942-3529-4727-94a0-bf621f7d5b86","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"c0a2a7ac-614e-4e3c-bb5d-e656f0e0a73d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.174891} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9827f32-7949-4bb2-a1b3-4da3bfbdac5d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.1752672} 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":"32448ff0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"f356b942-3529-4727-94a0-bf621f7d5b86","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/f356b942-3529-4727-94a0-bf621f7d5b86 204 44ms","method":"DELETE","requestID":"32448ff0-18eb-11ef-97dd-97826c0d9de9","responseTime":44,"status":204,"url":"/peerconnections/f356b942-3529-4727-94a0-bf621f7d5b86"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff73bdbc2-2541-4bf2-8adb-b5a40d224077","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c064144d-9437-4a6e-a30b-313a76f93feb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.2175362} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.221825,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077","object_type":"device","rebac_allow":false,"scope_allow":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":"324ddec0-18eb-11ef-97dd-97826c0d9de9"},"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/f73bdbc2-2541-4bf2-8adb-b5a40d224077/signaling 200 11ms","method":"POST","requestID":"324ddec0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075ea62b-1d59-421b-90a3-41456d543a13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d8bb0ef-d558-4865-bdb8-663f6dc76407","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.2308545} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"68d8e22c-0641-4ab0-84fc-b67dab14f009","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.230866} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b31d28ce-0617-4a8d-8b8f-9afd5a65f22c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.2313166} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.725512,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13","object_type":"device","rebac_allow":false,"scope_allow":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":"324fda90-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} 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":"184baf12d35beabd71585bfc91b836dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/075ea62b-1d59-421b-90a3-41456d543a13/signaling 200 12ms","method":"POST","requestID":"324fda90-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/075ea62b-1d59-421b-90a3-41456d543a13/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"184baf12d35beabd71585bfc91b836dd"} experiment-1 | {"level":"info","message":"DELETE /experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52 204 142ms","method":"DELETE","requestID":"184baf12d35beabd71585bfc91b836dd","responseTime":142,"status":204,"url":"/experiments/6589b5e4-eeda-40f6-b1ed-aa5f97a9ce52"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"a96442ca5829ee8fada6283347a559b3"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"26bfaca5c505a8d53f1ac904e9eca057"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"a96442ca5829ee8fada6283347a559b3","responseTime":117,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fc1f06ce1b3b7259772cc22212198bd4","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"26bfaca5c505a8d53f1ac904e9eca057","responseTime":116,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +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.619","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8b904cd84f7b2fd602c87ab170778f58"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2645","request_time":"0.628","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"38ecd1b8563a5f80effb97d9bee5db24"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f73bdbc2-2541-4bf2-8adb-b5a40d224077' closed"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.69011,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458391,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc1f06ce1b3b7259772cc22212198bd4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/075ea62b-1d59-421b-90a3-41456d543a13' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"efe808f4-f29b-4e9a-8470-23a488c4fb4d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.3150167} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc1f06ce1b3b7259772cc22212198bd4"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2c54e7b-26db-4524-8430-c9eeb4e56e15","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.3203692} 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":"fc1f06ce1b3b7259772cc22212198bd4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"270bd8e1-aeb7-41a5-b2a5-6a9a43776242","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.3318975} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dfc1d4d-8fd6-435c-9c5e-7d61ffd08879","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.332191} 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":"fc1f06ce1b3b7259772cc22212198bd4"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.331876353Z"}]},"request_id":"f750e1a3-6520-4c5d-94e1-9f1aa9b52f70","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.3366861} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc1f06ce1b3b7259772cc22212198bd4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc1f06ce1b3b7259772cc22212198bd4"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"fc1f06ce1b3b7259772cc22212198bd4","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e99a95e22603361a28cf7b428532031b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.641211,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458391,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM"} 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":"e99a95e22603361a28cf7b428532031b"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"602724c5-5757-4fcc-9cc7-526fd83265bf","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.3603113} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e99a95e22603361a28cf7b428532031b"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09896511-4fba-4c3d-bd6b-42d8f1816043","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.365173} 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":"e99a95e22603361a28cf7b428532031b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"cc491291-5382-489e-a529-0c1c88b073d0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.3748755} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"703b660f-4ea0-4e44-a23f-105afa6446ea","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.3750207} 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":"e99a95e22603361a28cf7b428532031b"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.374859200Z"}]},"request_id":"91feb178-0473-4d64-b0a2-e8bbe93a0c7d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.379916} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e99a95e22603361a28cf7b428532031b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e99a95e22603361a28cf7b428532031b"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"e99a95e22603361a28cf7b428532031b","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3f58fafdff6cbf606edb57c615761c1c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659241,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458391,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM"} 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":"3f58fafdff6cbf606edb57c615761c1c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.331876353Z"}]},"request_id":"28e4d316-ea99-42a3-b7db-270912462fa3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.893111} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f58fafdff6cbf606edb57c615761c1c"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57cc995e-6584-40b9-a0f6-d3a3784c8e31","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.897766} 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":"3f58fafdff6cbf606edb57c615761c1c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.331876353Z"}]},"request_id":"e18f146d-1b53-4f32-8b4f-8cb2b1cd3f00","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458391.9224088} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f58fafdff6cbf606edb57c615761c1c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5174ea60-0345-451b-bc50-82d54faa5bc1 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3f58fafdff6cbf606edb57c615761c1c"} device-1 | {"level":"info","message":"PATCH /devices/5174ea60-0345-451b-bc50-82d54faa5bc1 200 40ms","method":"PATCH","requestID":"3f58fafdff6cbf606edb57c615761c1c","responseTime":40,"status":200,"url":"/devices/5174ea60-0345-451b-bc50-82d54faa5bc1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a01ee17d2950deb637595e8378bfce95","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695459,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458391,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5MX0.diXjR0HNxpr-_7srVXgWoWSE1gnOWUM-BDAaBJnNFMM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a01ee17d2950deb637595e8378bfce95"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5174ea60-0345-451b-bc50-82d54faa5bc1/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":"a01ee17d2950deb637595e8378bfce95"} device-1 | {"level":"info","message":"POST /devices/5174ea60-0345-451b-bc50-82d54faa5bc1/websocket 200 14ms","method":"POST","requestID":"a01ee17d2950deb637595e8378bfce95","responseTime":15,"status":200,"url":"/devices/5174ea60-0345-451b-bc50-82d54faa5bc1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1' 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":"a14f7be711445cf9d1d0a47913941c6e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:09:59:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4c9c5773-38d1-4077-942a-1b02935903ef/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":"a14f7be711445cf9d1d0a47913941c6e"} device-1 | {"level":"info","message":"OPTIONS /devices/4c9c5773-38d1-4077-942a-1b02935903ef/websocket 200 1ms","method":"OPTIONS","requestID":"a14f7be711445cf9d1d0a47913941c6e","responseTime":1,"status":200,"url":"/devices/4c9c5773-38d1-4077-942a-1b02935903ef/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"471fd8e8a9a8b7f71bda459d14fc8680","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674886,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458393,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g"} 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":"471fd8e8a9a8b7f71bda459d14fc8680"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/4c9c5773-38d1-4077-942a-1b02935903ef/websocket 200 13ms","method":"POST","requestID":"471fd8e8a9a8b7f71bda459d14fc8680","responseTime":13,"status":200,"url":"/devices/4c9c5773-38d1-4077-942a-1b02935903ef/websocket"} gateway-1 | {"time_local":"23/May/2024:09:59:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4c9c5773-38d1-4077-942a-1b02935903ef/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"471fd8e8a9a8b7f71bda459d14fc8680"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d528df714693e2a02a9a188e84c295b8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661281,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458393,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g"} 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":"d528df714693e2a02a9a188e84c295b8"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.331876353Z"}]},"request_id":"9da6f12c-ee35-45d9-b2d1-c55d9ed399cb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.3410013} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d528df714693e2a02a9a188e84c295b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5174ea60-0345-451b-bc50-82d54faa5bc1? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d528df714693e2a02a9a188e84c295b8"} device-1 | {"level":"info","message":"GET /devices/5174ea60-0345-451b-bc50-82d54faa5bc1? 200 10ms","method":"GET","requestID":"d528df714693e2a02a9a188e84c295b8","responseTime":10,"status":200,"url":"/devices/5174ea60-0345-451b-bc50-82d54faa5bc1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"95560033506c02c9e7bf00f9ec13090d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707476,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458393,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95560033506c02c9e7bf00f9ec13090d"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.374859200Z"}]},"request_id":"a527921c-2b71-4221-ac51-e88f9cbede4e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.3597937} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95560033506c02c9e7bf00f9ec13090d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c9c5773-38d1-4077-942a-1b02935903ef? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95560033506c02c9e7bf00f9ec13090d"} device-1 | {"level":"info","message":"GET /devices/4c9c5773-38d1-4077-942a-1b02935903ef? 200 13ms","method":"GET","requestID":"95560033506c02c9e7bf00f9ec13090d","responseTime":13,"status":200,"url":"/devices/4c9c5773-38d1-4077-942a-1b02935903ef?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c79785c52cbba0be22977e9e6e5317ea","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:60464","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.903986,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458393,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g"} 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":"c79785c52cbba0be22977e9e6e5317ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"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:60464","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636638,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458393,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"339c30b0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.587103,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458393,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"339c7ed0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.331876353Z"}]},"request_id":"0e8fdd5f-d5ce-40e8-9e54-274a5b57b050","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.4143078} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"339c30b0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.374859200Z"}]},"request_id":"707d1d3e-8d74-4900-bd7a-83cd58578597","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.4152515} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"339c7ed0-18eb-11ef-97dd-97826c0d9de9"},"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/5174ea60-0345-451b-bc50-82d54faa5bc1? 200 18ms","method":"GET","requestID":"339c30b0-18eb-11ef-97dd-97826c0d9de9","responseTime":18,"status":200,"url":"/devices/5174ea60-0345-451b-bc50-82d54faa5bc1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4c9c5773-38d1-4077-942a-1b02935903ef? 200 17ms","method":"GET","requestID":"339c7ed0-18eb-11ef-97dd-97826c0d9de9","responseTime":17,"status":200,"url":"/devices/4c9c5773-38d1-4077-942a-1b02935903ef?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"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/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968048,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458393,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33a50a50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623075,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458393,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g"} 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":"33a55870-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.348261,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23af4c76-2432-4a45-a486-8b09e884d956","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.4719775} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33a5a690-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.331876353Z"}]},"request_id":"fcdd502c-0fbc-4839-bd70-a521db4dcded","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.4740374} 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":"33a50a50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"POST /devices/5174ea60-0345-451b-bc50-82d54faa5bc1/signaling 200 13ms","method":"POST","requestID":"33a5a690-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/5174ea60-0345-451b-bc50-82d54faa5bc1/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.374859200Z"}]},"request_id":"2490e965-621b-42f9-8484-0e466f9e3c2f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.4771647} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33a55870-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01477997-8506-4e98-86a1-72b85cd1eb73#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01477997-8506-4e98-86a1-72b85cd1eb73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"e8bef70f-b39c-4f28-8b7b-e37919c4ab7b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.4820766} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50bfa707-d368-444d-82cd-046f5ecb6c15","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.4823258} 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":"c79785c52cbba0be22977e9e6e5317ea"},"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:60464","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5174ea60-0345-451b-bc50-82d54faa5bc1? 200 26ms","method":"GET","requestID":"33a50a50-18eb-11ef-97dd-97826c0d9de9","responseTime":26,"status":200,"url":"/devices/5174ea60-0345-451b-bc50-82d54faa5bc1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4c9c5773-38d1-4077-942a-1b02935903ef? 200 25ms","method":"GET","requestID":"33a55870-18eb-11ef-97dd-97826c0d9de9","responseTime":25,"status":200,"url":"/devices/4c9c5773-38d1-4077-942a-1b02935903ef?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4294656c-e87c-49e6-8938-cc68ef734e04","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.488417} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.972613,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","object_type":"device","rebac_allow":false,"scope_allow":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":"33a83ea0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} gateway-1 | {"time_local":"23/May/2024:09:59:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c79785c52cbba0be22977e9e6e5317ea"} experiment-1 | {"level":"info","message":"POST /experiments? 201 126ms","method":"POST","requestID":"c79785c52cbba0be22977e9e6e5317ea","responseTime":126,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac086584-d66c-4099-9a9f-8083ed6f7f58","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.498057} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.512194,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/4c9c5773-38d1-4077-942a-1b02935903ef/signaling 200 17ms","method":"POST","requestID":"33a83ea0-18eb-11ef-97dd-97826c0d9de9","responseTime":17,"status":200,"url":"/devices/4c9c5773-38d1-4077-942a-1b02935903ef/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b2bc73491bb2e5f31445ebcedc69bfd4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","object_type":"device","rebac_allow":false,"scope_allow":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":"33a9c540-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737186,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5174ea60-0345-451b-bc50-82d54faa5bc1/signaling 200 13ms","method":"POST","requestID":"33a9c540-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/5174ea60-0345-451b-bc50-82d54faa5bc1/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458393,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2bc73491bb2e5f31445ebcedc69bfd4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.331876353Z"}]},"request_id":"e163fa19-a24d-4f62-980d-5b6a2bd73995","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.5106468} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2bc73491bb2e5f31445ebcedc69bfd4"},"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:60464","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec78f018-35ac-487e-ad84-339eaad4dd68","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.5136695} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.00508,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","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":"23/May/2024:09:59:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5174ea60-0345-451b-bc50-82d54faa5bc1? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2bc73491bb2e5f31445ebcedc69bfd4"} 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":"33ac3640-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"GET /devices/5174ea60-0345-451b-bc50-82d54faa5bc1? 200 16ms","method":"GET","requestID":"b2bc73491bb2e5f31445ebcedc69bfd4","responseTime":16,"status":200,"url":"/devices/5174ea60-0345-451b-bc50-82d54faa5bc1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4c9c5773-38d1-4077-942a-1b02935903ef/signaling 200 11ms","method":"POST","requestID":"33ac3640-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/4c9c5773-38d1-4077-942a-1b02935903ef/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"82077d3f-1e9d-4c33-9679-b553971080f9"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"17b815db-3b80-4036-bf28-ce71949db7a1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c4c003ae-4277-4aae-ac59-e81448812401"}]},"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/4c9c5773-38d1-4077-942a-1b02935903ef"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b1fbb3354de24b93cc6affdd2fc122da","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.645409,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458393,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g"} 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":"33ae5920-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:54886","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.878955,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458393,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5M30.dBjrU_SIeSALHaDMvmJtJ4XV7aZpJ8Q5TZLCw6Ot47g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1fbb3354de24b93cc6affdd2fc122da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:51.374859200Z"}]},"request_id":"ecb2dc28-86bf-49ab-9a3b-58947424c038","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.5311356} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1fbb3354de24b93cc6affdd2fc122da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c9c5773-38d1-4077-942a-1b02935903ef? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1fbb3354de24b93cc6affdd2fc122da"} device-1 | {"level":"info","message":"GET /devices/4c9c5773-38d1-4077-942a-1b02935903ef? 200 11ms","method":"GET","requestID":"b1fbb3354de24b93cc6affdd2fc122da","responseTime":11,"status":200,"url":"/devices/4c9c5773-38d1-4077-942a-1b02935903ef?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"caecb3a8-282e-45ef-959c-296c99ca0797","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.5354521} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b190424-7db0-4750-a5ab-d1181b41f08c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.5358381} 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":"33ae5920-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f'"} 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":"33ae5920-18eb-11ef-97dd-97826c0d9de9","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a1d36ba-6a4f-40e0-8063-ef7dd19cba28","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.5935266} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.8838,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33b86b40-18eb-11ef-97dd-97826c0d9de9"},"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/5174ea60-0345-451b-bc50-82d54faa5bc1/signaling 200 12ms","method":"POST","requestID":"33b86b40-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/5174ea60-0345-451b-bc50-82d54faa5bc1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e4fc10e-5e02-44fb-9867-0c73c5159e54","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458393.606258} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.971826,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","object_type":"device","rebac_allow":false,"scope_allow":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":"33ba8e20-18eb-11ef-97dd-97826c0d9de9"},"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/4c9c5773-38d1-4077-942a-1b02935903ef/signaling 200 8ms","method":"POST","requestID":"33ba8e20-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/4c9c5773-38d1-4077-942a-1b02935903ef/signaling"} device-1 | {"data":{"peerconnection":"537d108a-0bf4-4035-ad9f-16a057b2060f","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/537d108a-0bf4-4035-ad9f-16a057b2060f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"537d108a-0bf4-4035-ad9f-16a057b2060f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef'"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"19048aa1eb34407a03d45a6a36f4f5c4","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/4c9c5773-38d1-4077-942a-1b02935903ef"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"19048aa1eb34407a03d45a6a36f4f5c4","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"19048aa1eb34407a03d45a6a36f4f5c4"} device-1 | {"data":{"peerconnection":"537d108a-0bf4-4035-ad9f-16a057b2060f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"537d108a-0bf4-4035-ad9f-16a057b2060f","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/537d108a-0bf4-4035-ad9f-16a057b2060f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"537d108a-0bf4-4035-ad9f-16a057b2060f","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":"3def2f8b5e80cc3146e79f93271fbe39","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/4c9c5773-38d1-4077-942a-1b02935903ef"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F537d108a-0bf4-4035-ad9f-16a057b2060f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b04d981-6421-4c08-afdc-7d1201f485af","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458395.7417252} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.31623,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f","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":"35005490-18eb-11ef-97dd-97826c0d9de9"},"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/537d108a-0bf4-4035-ad9f-16a057b2060f 200 9ms","method":"GET","requestID":"35005490-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"3def2f8b5e80cc3146e79f93271fbe39","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"3def2f8b5e80cc3146e79f93271fbe39"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdcf24d7-077e-432d-a981-63ca3e836d19","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458395.7688653} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.998347,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35047340-18eb-11ef-97dd-97826c0d9de9"},"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/4c9c5773-38d1-4077-942a-1b02935903ef/signaling 200 9ms","method":"POST","requestID":"35047340-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/4c9c5773-38d1-4077-942a-1b02935903ef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8eff716-9483-4faf-a56f-248ab4bfe40f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458395.780385} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.791041,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","object_type":"device","rebac_allow":false,"scope_allow":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":"350620f0-18eb-11ef-97dd-97826c0d9de9"},"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/5174ea60-0345-451b-bc50-82d54faa5bc1/signaling 200 10ms","method":"POST","requestID":"350620f0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/5174ea60-0345-451b-bc50-82d54faa5bc1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5NX0.jNRl3Euqm8yrKWdlcHrSxT246ASA2woeG64fCZFLU5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"be905d907f0ea2037e0a11ee6d74c635","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/01477997-8506-4e98-86a1-72b85cd1eb73"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.690775,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458395,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5NX0.jNRl3Euqm8yrKWdlcHrSxT246ASA2woeG64fCZFLU5c"} 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":"be905d907f0ea2037e0a11ee6d74c635"},"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/01477997-8506-4e98-86a1-72b85cd1eb73"} experiment-1 | {"level":"info","message":"GET /experiments/01477997-8506-4e98-86a1-72b85cd1eb73 200 10ms","method":"GET","requestID":"be905d907f0ea2037e0a11ee6d74c635","responseTime":10,"status":200,"url":"/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"} gateway-1 | {"time_local":"23/May/2024:09:59:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/01477997-8506-4e98-86a1-72b85cd1eb73 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be905d907f0ea2037e0a11ee6d74c635"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5NX0.jNRl3Euqm8yrKWdlcHrSxT246ASA2woeG64fCZFLU5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"819c693172cc9cf3703246d885c1f36f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/01477997-8506-4e98-86a1-72b85cd1eb73"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.70871,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458395,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5NX0.jNRl3Euqm8yrKWdlcHrSxT246ASA2woeG64fCZFLU5c"} 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":"819c693172cc9cf3703246d885c1f36f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.703222,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458395,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5NX0.jNRl3Euqm8yrKWdlcHrSxT246ASA2woeG64fCZFLU5c"} 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":"351ba4c0-18eb-11ef-97dd-97826c0d9de9"},"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/537d108a-0bf4-4035-ad9f-16a057b2060f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"537d108a-0bf4-4035-ad9f-16a057b2060f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F537d108a-0bf4-4035-ad9f-16a057b2060f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F537d108a-0bf4-4035-ad9f-16a057b2060f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"b32d08c4-bcab-4620-9d9a-ac6d7aa308a4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458395.932086} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1a772d900fec3daff6c958be3c770d15","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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a26b9c6-c1ab-4dc4-95b0-f409f32b0e2f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458395.9323933} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/4c9c5773-38d1-4077-942a-1b02935903ef"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0dd6f06092a0684ba6cd807d29ab8956","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":"351ba4c0-18eb-11ef-97dd-97826c0d9de9"},"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":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"537d108a-0bf4-4035-ad9f-16a057b2060f","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/537d108a-0bf4-4035-ad9f-16a057b2060f 204 30ms","method":"DELETE","requestID":"351ba4c0-18eb-11ef-97dd-97826c0d9de9","responseTime":30,"status":204,"url":"/peerconnections/537d108a-0bf4-4035-ad9f-16a057b2060f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c9c5773-38d1-4077-942a-1b02935903ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1b11037-f44e-4dbe-bf73-3298503b2c4c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458395.9667351} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.674383,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c9c5773-38d1-4077-942a-1b02935903ef","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3522a9a0-18eb-11ef-97dd-97826c0d9de9"},"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/4c9c5773-38d1-4077-942a-1b02935903ef/signaling 200 9ms","method":"POST","requestID":"3522a9a0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/4c9c5773-38d1-4077-942a-1b02935903ef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01477997-8506-4e98-86a1-72b85cd1eb73': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01477997-8506-4e98-86a1-72b85cd1eb73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"db9af988-99ad-4c08-b4c2-bfe38f5515a5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458395.9758484} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4d7e171-df3a-40e5-a908-7dc3e551748b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458395.9762352} 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":"819c693172cc9cf3703246d885c1f36f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.300094,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:55Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5174ea60-0345-451b-bc50-82d54faa5bc1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d36d504-b355-4b50-83bc-58515e317b4b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458395.978586} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5174ea60-0345-451b-bc50-82d54faa5bc1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35245750-18eb-11ef-97dd-97826c0d9de9"},"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/5174ea60-0345-451b-bc50-82d54faa5bc1/signaling 200 11ms","method":"POST","requestID":"35245750-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/5174ea60-0345-451b-bc50-82d54faa5bc1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/01477997-8506-4e98-86a1-72b85cd1eb73"} gateway-1 | {"time_local":"23/May/2024:09:59:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/01477997-8506-4e98-86a1-72b85cd1eb73 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"819c693172cc9cf3703246d885c1f36f"} experiment-1 | {"level":"info","message":"DELETE /experiments/01477997-8506-4e98-86a1-72b85cd1eb73 204 121ms","method":"DELETE","requestID":"819c693172cc9cf3703246d885c1f36f","responseTime":121,"status":204,"url":"/experiments/01477997-8506-4e98-86a1-72b85cd1eb73"} gateway-1 | {"time_local":"23/May/2024:09:59:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"4.079","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2c42759f41f32215c655c15fc5df5b17"} gateway-1 | {"time_local":"23/May/2024:09:59:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch","requestID":"1a772d900fec3daff6c958be3c770d15"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 96ms","method":"POST","requestID":"1a772d900fec3daff6c958be3c770d15","responseTime":96,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 95ms","method":"POST","requestID":"0dd6f06092a0684ba6cd807d29ab8956","responseTime":95,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.100","http_referrer":"","http_user_agent":"node-fetch","requestID":"0dd6f06092a0684ba6cd807d29ab8956"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5Nn0.STnolsBByN2IdZjMdPT03Ao0fhwdOnK1X6795o_WRjM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1bcf8b61f54f1ae5b1bd2e06c7ea23cd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:56Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.801903,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:56Z"} gateway-1 | {"time_local":"23/May/2024:09:59:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.724","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7a4e946f087aafc08f5b9bd68f7c1a1a"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458396,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5Nn0.STnolsBByN2IdZjMdPT03Ao0fhwdOnK1X6795o_WRjM"} 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":"1bcf8b61f54f1ae5b1bd2e06c7ea23cd"},"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/5174ea60-0345-451b-bc50-82d54faa5bc1' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a5c1c42c-f64c-435c-873e-fd1d0b541104","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458396.0610127} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1bcf8b61f54f1ae5b1bd2e06c7ea23cd"},"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/4c9c5773-38d1-4077-942a-1b02935903ef' 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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10ef54a3-766c-463c-83db-f7294aa040d7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458396.0668347} 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":"1bcf8b61f54f1ae5b1bd2e06c7ea23cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"4bafdb23-5494-4c3a-8b68-8eb5aa2756aa","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458396.0794702} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b9c87c8-67db-44bd-95e7-953543c57330","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458396.0797167} 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":"1bcf8b61f54f1ae5b1bd2e06c7ea23cd"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:56.079448509Z"}]},"request_id":"f0befc30-91c9-403f-a835-4449d5c80557","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458396.0851405} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1bcf8b61f54f1ae5b1bd2e06c7ea23cd"},"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 54ms","method":"POST","requestID":"1bcf8b61f54f1ae5b1bd2e06c7ea23cd","responseTime":54,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:09:59:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1bcf8b61f54f1ae5b1bd2e06c7ea23cd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5Nn0.STnolsBByN2IdZjMdPT03Ao0fhwdOnK1X6795o_WRjM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f0c1dc94711e5d1c37038af556d74838","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:56Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.863699,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458396,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5Nn0.STnolsBByN2IdZjMdPT03Ao0fhwdOnK1X6795o_WRjM"} 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":"f0c1dc94711e5d1c37038af556d74838"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d7f81106-6e4e-4fc3-b98e-c41f6232a3bc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458396.1148462} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0c1dc94711e5d1c37038af556d74838"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c804a03-3c94-45d6-9551-2b18fe22b3b9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458396.120385} 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":"f0c1dc94711e5d1c37038af556d74838"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"5cc961aa-bc5b-4569-9c77-63332235826d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458396.130053} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b013be0-6c3b-4066-8a12-bea1b22418ad","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458396.1302598} 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":"f0c1dc94711e5d1c37038af556d74838"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:56.130036957Z"}]},"request_id":"aced41f2-f049-479e-b02b-f66bcaf8effb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458396.1349235} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0c1dc94711e5d1c37038af556d74838"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0c1dc94711e5d1c37038af556d74838"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"f0c1dc94711e5d1c37038af556d74838","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"67440d5c9225a2d2b0a88305283b5fdc","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/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":"67440d5c9225a2d2b0a88305283b5fdc"} device-1 | {"level":"info","message":"OPTIONS /devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/websocket 200 1ms","method":"OPTIONS","requestID":"67440d5c9225a2d2b0a88305283b5fdc","responseTime":1,"status":200,"url":"/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4333663553e3da6a0133d5f319162206","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662516,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4333663553e3da6a0133d5f319162206"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"83ce495f63a1653205f390616f69933e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/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":"83ce495f63a1653205f390616f69933e"} device-1 | {"level":"info","message":"OPTIONS /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/websocket 200 0ms","method":"OPTIONS","requestID":"83ce495f63a1653205f390616f69933e","responseTime":0,"status":200,"url":"/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"11ea93c83948562ee763d223083253f1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4333663553e3da6a0133d5f319162206"} device-1 | {"level":"info","message":"POST /devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/websocket 200 21ms","method":"POST","requestID":"4333663553e3da6a0133d5f319162206","responseTime":21,"status":200,"url":"/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/websocket"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76976,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11ea93c83948562ee763d223083253f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"11ea93c83948562ee763d223083253f1"} device-1 | {"level":"info","message":"POST /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/websocket 200 16ms","method":"POST","requestID":"11ea93c83948562ee763d223083253f1","responseTime":16,"status":200,"url":"/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"19742f90fe83d24ad8a5ecd24fc9c07e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901305,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19742f90fe83d24ad8a5ecd24fc9c07e"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:56.079448509Z"}]},"request_id":"fafb285e-45a2-4598-805c-a3df077a04ef","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.1339896} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19742f90fe83d24ad8a5ecd24fc9c07e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19742f90fe83d24ad8a5ecd24fc9c07e"} device-1 | {"level":"info","message":"GET /devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601? 200 11ms","method":"GET","requestID":"19742f90fe83d24ad8a5ecd24fc9c07e","responseTime":11,"status":200,"url":"/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e18d047d44660ec17507067ce81939aa","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700019,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} 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":"e18d047d44660ec17507067ce81939aa"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:56.130036957Z"}]},"request_id":"3248aaa1-ad13-406a-bd42-37332ec5d58a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.149001} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e18d047d44660ec17507067ce81939aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e18d047d44660ec17507067ce81939aa"} device-1 | {"level":"info","message":"GET /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586? 200 11ms","method":"GET","requestID":"e18d047d44660ec17507067ce81939aa","responseTime":11,"status":200,"url":"/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"220b19c77ea81065023276157d4f2d70","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:60464","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.85764,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} 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":"220b19c77ea81065023276157d4f2d70"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"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:60464","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698041,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3676ef00-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689202,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36773d20-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:56.079448509Z"}]},"request_id":"32b6c7fa-74b7-4683-8ab6-2fbc280434d2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.2008567} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3676ef00-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:56.130036957Z"}]},"request_id":"395dcc02-a648-4a9d-96f6-797c639f5622","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.2047021} 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":"36773d20-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601? 200 13ms","method":"GET","requestID":"3676ef00-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586? 200 14ms","method":"GET","requestID":"36773d20-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"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:60464","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.839787,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3680da10-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734218,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77b0d546-a26f-4874-b602-0285a54158aa","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.2671983} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} 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":"36812830-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.252384,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","object_type":"device","rebac_allow":false,"scope_allow":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":"36817650-18eb-11ef-97dd-97826c0d9de9"},"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/32ca3a41-7b49-44c6-b0be-4d8cf8055601/signaling 200 14ms","method":"POST","requestID":"36817650-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:56.079448509Z"}]},"request_id":"3a2c0b99-e326-42ff-94cb-cb543b006c78","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.2711039} 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":"3680da10-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:56.130036957Z"}]},"request_id":"68287ebc-9467-4c45-8686-2cb260d5236a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.2769022} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36812830-18eb-11ef-97dd-97826c0d9de9"},"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:60464","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c60b79b9-4203-4d0f-9595-3403730da1d8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.2846699} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.59622,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} device-1 | {"level":"info","message":"GET /devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601? 200 29ms","method":"GET","requestID":"3680da10-18eb-11ef-97dd-97826c0d9de9","responseTime":29,"status":200,"url":"/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36845c80-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"GET /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586? 200 28ms","method":"GET","requestID":"36812830-18eb-11ef-97dd-97826c0d9de9","responseTime":28,"status":200,"url":"/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/signaling 200 13ms","method":"POST","requestID":"36845c80-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F523be367-1780-4343-8eb2-44c65c645b0a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F523be367-1780-4343-8eb2-44c65c645b0a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"83d4bd90-09aa-47d1-bb10-3798dc116ae8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.2931414} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"858d83d9-fca9-4706-a1eb-8af6e62a1dc4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.2933865} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"220b19c77ea81065023276157d4f2d70"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8a399e4-3bdc-4bb7-8ef5-f71d35550801","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.2975714} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.435761,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","object_type":"device","rebac_allow":false,"scope_allow":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":"3685e320-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 146ms","method":"POST","requestID":"220b19c77ea81065023276157d4f2d70","responseTime":146,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"220b19c77ea81065023276157d4f2d70"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/signaling 200 14ms","method":"POST","requestID":"3685e320-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0965b7efedf73cb92f4dc455bbd8355e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7a4695a-092f-4c79-94fb-17a20c4c1455","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.3121545} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.051335,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.810362,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0965b7efedf73cb92f4dc455bbd8355e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","object_type":"device","rebac_allow":false,"scope_allow":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":"36885420-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:56.079448509Z"}]},"request_id":"ac30865f-5dc2-4e3c-b1cf-251e77619e9a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.3177116} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/signaling 200 12ms","method":"POST","requestID":"36885420-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/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":"0965b7efedf73cb92f4dc455bbd8355e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"b63a066b-e130-4385-9d24-2391dff8cf0f"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"427105c5-c8c7-40c7-987d-41211cbc1a82"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"e6e983ec-838a-4ffb-b2b3-697c3986f423"}]},"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/32ca3a41-7b49-44c6-b0be-4d8cf8055601"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0965b7efedf73cb92f4dc455bbd8355e"} device-1 | {"level":"info","message":"GET /devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601? 200 13ms","method":"GET","requestID":"0965b7efedf73cb92f4dc455bbd8355e","responseTime":13,"status":200,"url":"/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.855702,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"68990da1523a6c12d0870037ef8d7bbb","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"368aec30-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928858,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68990da1523a6c12d0870037ef8d7bbb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"c66d2fff-0bde-4e17-8db8-19d94ba93296","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.3364954} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b83daadb-43d9-4761-b8f5-01c21cd648da","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.3368304} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:56.130036957Z"}]},"request_id":"d3c119a4-5218-40ae-b825-69cff7f51df1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.3375242} 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":"368aec30-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68990da1523a6c12d0870037ef8d7bbb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68990da1523a6c12d0870037ef8d7bbb"} device-1 | {"level":"info","message":"GET /devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586? 200 15ms","method":"GET","requestID":"68990da1523a6c12d0870037ef8d7bbb","responseTime":15,"status":200,"url":"/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586?"} 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/7161869a-acdf-4377-beb8-675aff3c2cca'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca'"} 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":"368aec30-18eb-11ef-97dd-97826c0d9de9","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d004722-e138-470e-bd22-d5138993a0be","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.3840094} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.238019,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","object_type":"device","rebac_allow":false,"scope_allow":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":"369377b0-18eb-11ef-97dd-97826c0d9de9"},"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/32ca3a41-7b49-44c6-b0be-4d8cf8055601/signaling 200 10ms","method":"POST","requestID":"369377b0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef640eef-cdef-4403-a1b5-8036da2fdee4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.396312} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.213596,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36954c70-18eb-11ef-97dd-97826c0d9de9"},"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/623b6866-4f7a-4b28-a8a4-b9250aeb7586/signaling 200 9ms","method":"POST","requestID":"36954c70-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7161869a-acdf-4377-beb8-675aff3c2cca","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":"6b2dcf4cc2121dcc02d5777ecfa0b35f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"6b2dcf4cc2121dcc02d5777ecfa0b35f","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"6b2dcf4cc2121dcc02d5777ecfa0b35f"} device-1 | {"data":{"peerconnection":"7161869a-acdf-4377-beb8-675aff3c2cca","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7161869a-acdf-4377-beb8-675aff3c2cca","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/7161869a-acdf-4377-beb8-675aff3c2cca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7161869a-acdf-4377-beb8-675aff3c2cca","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":"21bacce4ccaa5818c8afb9ac718ae53c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7161869a-acdf-4377-beb8-675aff3c2cca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31887885-79ac-4f21-8df7-1401177efc3e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.5056412} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.566563,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca","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":"36a5c730-18eb-11ef-97dd-97826c0d9de9"},"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/7161869a-acdf-4377-beb8-675aff3c2cca 200 21ms","method":"GET","requestID":"36a5c730-18eb-11ef-97dd-97826c0d9de9","responseTime":21,"status":200,"url":"/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"21bacce4ccaa5818c8afb9ac718ae53c","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:09:59: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.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"21bacce4ccaa5818c8afb9ac718ae53c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e563e99-4af7-4097-8409-15ae27626b92","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.5429847} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.7358,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","object_type":"device","rebac_allow":false,"scope_allow":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":"36abbaa0-18eb-11ef-97dd-97826c0d9de9"},"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/32ca3a41-7b49-44c6-b0be-4d8cf8055601/signaling 200 10ms","method":"POST","requestID":"36abbaa0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"850be1e6-fb20-489b-b8ee-0237c62f4925","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.5563645} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.003792,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36adb670-18eb-11ef-97dd-97826c0d9de9"},"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/623b6866-4f7a-4b28-a8a4-b9250aeb7586/signaling 200 11ms","method":"POST","requestID":"36adb670-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a4b5750d5f5a8640389b7d27dd113d1f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/523be367-1780-4343-8eb2-44c65c645b0a"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.317067,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} 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":"a4b5750d5f5a8640389b7d27dd113d1f"},"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/523be367-1780-4343-8eb2-44c65c645b0a"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/523be367-1780-4343-8eb2-44c65c645b0a HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4b5750d5f5a8640389b7d27dd113d1f"} experiment-1 | {"level":"info","message":"GET /experiments/523be367-1780-4343-8eb2-44c65c645b0a 200 10ms","method":"GET","requestID":"a4b5750d5f5a8640389b7d27dd113d1f","responseTime":10,"status":200,"url":"/experiments/523be367-1780-4343-8eb2-44c65c645b0a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53fb91eb025a29bd5ac5bdb9c0ff70fc","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/523be367-1780-4343-8eb2-44c65c645b0a"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.692229,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} 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":"53fb91eb025a29bd5ac5bdb9c0ff70fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.993621,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} 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":"36ce5dd0-18eb-11ef-97dd-97826c0d9de9"},"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/7161869a-acdf-4377-beb8-675aff3c2cca' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7161869a-acdf-4377-beb8-675aff3c2cca","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":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7161869a-acdf-4377-beb8-675aff3c2cca': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7161869a-acdf-4377-beb8-675aff3c2cca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"8dd12211-981c-47b5-b511-2b7d1cbd86f6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.7804763} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"86fce50a1f13cd6d388d4235a20b97f0","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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6a7e548-bc1a-4252-89bf-1205d58cbe1a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.7808845} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f69dde1155a344280373da34678b8696","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":"36ce5dd0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"7161869a-acdf-4377-beb8-675aff3c2cca","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/7161869a-acdf-4377-beb8-675aff3c2cca 204 37ms","method":"DELETE","requestID":"36ce5dd0-18eb-11ef-97dd-97826c0d9de9","responseTime":37,"status":204,"url":"/peerconnections/7161869a-acdf-4377-beb8-675aff3c2cca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523be367-1780-4343-8eb2-44c65c645b0a"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32ca3a41-7b49-44c6-b0be-4d8cf8055601","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd07b7d0-e528-45ee-8507-d329ade4a2ff","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.830364} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.323506,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36d75e80-18eb-11ef-97dd-97826c0d9de9"},"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/32ca3a41-7b49-44c6-b0be-4d8cf8055601/signaling 200 11ms","method":"POST","requestID":"36d75e80-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F523be367-1780-4343-8eb2-44c65c645b0a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F523be367-1780-4343-8eb2-44c65c645b0a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"8ab99997-5517-4451-b330-fc9d9e150daf","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.835696} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b77acdf-2a11-4633-b963-1af23eaf130e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.8362803} 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":"53fb91eb025a29bd5ac5bdb9c0ff70fc"},"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:60464","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623b6866-4f7a-4b28-a8a4-b9250aeb7586","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8483e2a-2d15-436e-bbf0-7de4db6cd14a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.842864} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.2978,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586","object_type":"device","rebac_allow":false,"scope_allow":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":"36d98160-18eb-11ef-97dd-97826c0d9de9"},"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/623b6866-4f7a-4b28-a8a4-b9250aeb7586/signaling 200 9ms","method":"POST","requestID":"36d98160-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/623b6866-4f7a-4b28-a8a4-b9250aeb7586/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/523be367-1780-4343-8eb2-44c65c645b0a"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/523be367-1780-4343-8eb2-44c65c645b0a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53fb91eb025a29bd5ac5bdb9c0ff70fc"} experiment-1 | {"level":"info","message":"DELETE /experiments/523be367-1780-4343-8eb2-44c65c645b0a 204 151ms","method":"DELETE","requestID":"53fb91eb025a29bd5ac5bdb9c0ff70fc","responseTime":151,"status":204,"url":"/experiments/523be367-1780-4343-8eb2-44c65c645b0a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"86fce50a1f13cd6d388d4235a20b97f0","responseTime":129,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"31d0553ad3eeb097190714ed94ef4c84","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:09:59: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"86fce50a1f13cd6d388d4235a20b97f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"f69dde1155a344280373da34678b8696","responseTime":129,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2630","request_time":"0.825","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a18a00ac48c341176a614e8aac02b372"} gateway-1 | {"time_local":"23/May/2024:09:59: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"f69dde1155a344280373da34678b8696"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +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.814","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5dbc36bc91383306ea8f642df203d408"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.930973,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} 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":"31d0553ad3eeb097190714ed94ef4c84"},"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/623b6866-4f7a-4b28-a8a4-b9250aeb7586' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/32ca3a41-7b49-44c6-b0be-4d8cf8055601' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ae306886-728d-4e90-9179-8d4ab380da50","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.936488} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31d0553ad3eeb097190714ed94ef4c84"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef523fb9-14cd-4d34-ad4b-ba4ce4f2a468","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.9416256} 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":"31d0553ad3eeb097190714ed94ef4c84"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"f4018aeb-de74-4221-9f1d-e77f632299fb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.9509723} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6ab15c1-9fa2-43ab-b4e8-d01b1513db5e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.951228} 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":"31d0553ad3eeb097190714ed94ef4c84"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.950950861Z"}]},"request_id":"d83329fb-2483-4fab-b053-9450ec14310e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.9556167} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31d0553ad3eeb097190714ed94ef4c84"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"31d0553ad3eeb097190714ed94ef4c84"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"31d0553ad3eeb097190714ed94ef4c84","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1eea9db5781bb3561062c1e4bd12245e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.696196,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458398,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OH0.wEG2MUfjhzvMJNtvbO1bD7jhgpsJk0CFKIrs6BwpHtk"} 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":"1eea9db5781bb3561062c1e4bd12245e"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e0f1e7be-8f7f-45eb-893d-73d703e51bfb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.9798956} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1eea9db5781bb3561062c1e4bd12245e"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c3cc500-755b-439f-a4f3-ac9e0726d39d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.9851305} 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":"1eea9db5781bb3561062c1e4bd12245e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"83940f6e-5924-4cf0-887f-ff532b937120","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.9974782} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbf2c244-c824-4e9d-9133-b302c7cc21fc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458398.9976277} 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":"1eea9db5781bb3561062c1e4bd12245e"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.997456538Z"}]},"request_id":"9b5d11d9-773d-45d2-8ea4-b8775b04183a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458399.0018775} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1eea9db5781bb3561062c1e4bd12245e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1eea9db5781bb3561062c1e4bd12245e"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"1eea9db5781bb3561062c1e4bd12245e","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OX0.v_akZtK7qtI31AfOrwk5oqY-fP3cHQPrJLs92hhJA-4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"35cd44392e15fc0265fde01da3301aa0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678397,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458399,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OX0.v_akZtK7qtI31AfOrwk5oqY-fP3cHQPrJLs92hhJA-4"} 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":"35cd44392e15fc0265fde01da3301aa0"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.997456538Z"}]},"request_id":"1281abee-1a5a-4146-a1ff-fe9d3ec804fd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458399.5184908} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35cd44392e15fc0265fde01da3301aa0"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e3fcb1f-9fa9-4f2f-aa74-c1b23a94ca78","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458399.5237396} 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":"35cd44392e15fc0265fde01da3301aa0"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.997456538Z"}]},"request_id":"9330523c-1e46-4fa6-8e52-e8a5dc5de257","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458399.5368993} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35cd44392e15fc0265fde01da3301aa0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/99026d24-cc4f-409a-8441-9898f3353997 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"35cd44392e15fc0265fde01da3301aa0"} device-1 | {"level":"info","message":"PATCH /devices/99026d24-cc4f-409a-8441-9898f3353997 200 31ms","method":"PATCH","requestID":"35cd44392e15fc0265fde01da3301aa0","responseTime":31,"status":200,"url":"/devices/99026d24-cc4f-409a-8441-9898f3353997"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OX0.v_akZtK7qtI31AfOrwk5oqY-fP3cHQPrJLs92hhJA-4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8c6a58711837ae3a1799daf188fbe2d0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T09:59:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.716617,"resp_status":200,"subsystem":"opa","time":"2024-05-23T09:59:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458399,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODM5OX0.v_akZtK7qtI31AfOrwk5oqY-fP3cHQPrJLs92hhJA-4"} 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":"8c6a58711837ae3a1799daf188fbe2d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:09:59:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/99026d24-cc4f-409a-8441-9898f3353997/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":"8c6a58711837ae3a1799daf188fbe2d0"} device-1 | {"level":"info","message":"POST /devices/99026d24-cc4f-409a-8441-9898f3353997/websocket 200 16ms","method":"POST","requestID":"8c6a58711837ae3a1799daf188fbe2d0","responseTime":16,"status":200,"url":"/devices/99026d24-cc4f-409a-8441-9898f3353997/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997' 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":"7118555e0bb48a6ef862310cf795c3d2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e8b751b3-4e3f-457d-b929-47bf688709a5/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":"7118555e0bb48a6ef862310cf795c3d2"} device-1 | {"level":"info","message":"OPTIONS /devices/e8b751b3-4e3f-457d-b929-47bf688709a5/websocket 200 1ms","method":"OPTIONS","requestID":"7118555e0bb48a6ef862310cf795c3d2","responseTime":1,"status":200,"url":"/devices/e8b751b3-4e3f-457d-b929-47bf688709a5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"298ef471197d6d2d9a0ff02415623885","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704297,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458400,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"298ef471197d6d2d9a0ff02415623885"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e8b751b3-4e3f-457d-b929-47bf688709a5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"298ef471197d6d2d9a0ff02415623885"} device-1 | {"level":"info","message":"POST /devices/e8b751b3-4e3f-457d-b929-47bf688709a5/websocket 200 18ms","method":"POST","requestID":"298ef471197d6d2d9a0ff02415623885","responseTime":18,"status":200,"url":"/devices/e8b751b3-4e3f-457d-b929-47bf688709a5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"955b9b4dcf9d8b80330523968e9a2c55","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70988,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458400,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"955b9b4dcf9d8b80330523968e9a2c55"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.950950861Z"}]},"request_id":"cbb27036-afea-403a-9d10-a65fd149fb41","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458400.9651833} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"955b9b4dcf9d8b80330523968e9a2c55"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e8b751b3-4e3f-457d-b929-47bf688709a5? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"955b9b4dcf9d8b80330523968e9a2c55"} device-1 | {"level":"info","message":"GET /devices/e8b751b3-4e3f-457d-b929-47bf688709a5? 200 12ms","method":"GET","requestID":"955b9b4dcf9d8b80330523968e9a2c55","responseTime":12,"status":200,"url":"/devices/e8b751b3-4e3f-457d-b929-47bf688709a5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4612c123751bf051890f7a96573730fe","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662753,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458400,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4612c123751bf051890f7a96573730fe"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.997456538Z"}]},"request_id":"dcc6188d-a8fb-4e54-813e-b55683e2afca","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458400.9807606} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4612c123751bf051890f7a96573730fe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/99026d24-cc4f-409a-8441-9898f3353997? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4612c123751bf051890f7a96573730fe"} device-1 | {"level":"info","message":"GET /devices/99026d24-cc4f-409a-8441-9898f3353997? 200 11ms","method":"GET","requestID":"4612c123751bf051890f7a96573730fe","responseTime":11,"status":200,"url":"/devices/99026d24-cc4f-409a-8441-9898f3353997?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3aecda4a32806b91f5f1e00cfacb9c10","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:60464","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.864141,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458400,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo"} 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":"3aecda4a32806b91f5f1e00cfacb9c10"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"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:60464","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.612966,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458400,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3827fa60-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.588272,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458400,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38282170-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.950950861Z"}]},"request_id":"282ab50b-ce92-43cc-bbec-64e88903ff0a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.038293} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3827fa60-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.997456538Z"}]},"request_id":"6bce4666-fd4e-47b2-a7af-0a15a11ede78","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.039263} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38282170-18eb-11ef-97dd-97826c0d9de9"},"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/e8b751b3-4e3f-457d-b929-47bf688709a5? 200 13ms","method":"GET","requestID":"3827fa60-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/e8b751b3-4e3f-457d-b929-47bf688709a5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/99026d24-cc4f-409a-8441-9898f3353997? 200 13ms","method":"GET","requestID":"38282170-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/99026d24-cc4f-409a-8441-9898f3353997?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"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/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.170453,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.964458,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458400,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo"} 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":"3830fb10-18eb-11ef-97dd-97826c0d9de9"},"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/99026d24-cc4f-409a-8441-9898f3353997","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458400,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo"} 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":"38312220-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.950950861Z"}]},"request_id":"cc135170-0fc8-43a3-a5c2-5682a992ebd8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.100695} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.997456538Z"}]},"request_id":"70ecd6d2-d5dc-48d0-bdcb-959aa9ef030b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.101453} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3830fb10-18eb-11ef-97dd-97826c0d9de9"},"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:35732","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38312220-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c822fbca-6a6b-43f2-b0d8-7ef93212b1a9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.1040218} authorization-1 | {"client_addr":"127.0.0.1:35732","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.220783,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","object_type":"device","rebac_allow":false,"scope_allow":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":"38317040-18eb-11ef-97dd-97826c0d9de9"},"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/e8b751b3-4e3f-457d-b929-47bf688709a5? 200 18ms","method":"GET","requestID":"3830fb10-18eb-11ef-97dd-97826c0d9de9","responseTime":18,"status":200,"url":"/devices/e8b751b3-4e3f-457d-b929-47bf688709a5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/99026d24-cc4f-409a-8441-9898f3353997? 200 19ms","method":"GET","requestID":"38312220-18eb-11ef-97dd-97826c0d9de9","responseTime":19,"status":200,"url":"/devices/99026d24-cc4f-409a-8441-9898f3353997?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c647b33-1385-416e-b3ad-e8c7d9a6523f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c647b33-1385-416e-b3ad-e8c7d9a6523f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"f5856f2c-f753-4c08-8e21-43f78d45e207","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.1089575} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"153e8e06-16c8-4e63-9898-c16aa829cbf5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.1093204} 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":"3aecda4a32806b91f5f1e00cfacb9c10"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e8b751b3-4e3f-457d-b929-47bf688709a5/signaling 200 22ms","method":"POST","requestID":"38317040-18eb-11ef-97dd-97826c0d9de9","responseTime":22,"status":200,"url":"/devices/e8b751b3-4e3f-457d-b929-47bf688709a5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae75f96f-4d04-41ea-bbec-50e0d159d206","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.1163225} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.633463,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","object_type":"device","rebac_allow":false,"scope_allow":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":"38345670-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 132ms","method":"POST","requestID":"3aecda4a32806b91f5f1e00cfacb9c10","responseTime":132,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} gateway-1 | {"time_local":"23/May/2024:10:00:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3aecda4a32806b91f5f1e00cfacb9c10"} device-1 | {"level":"info","message":"POST /devices/e8b751b3-4e3f-457d-b929-47bf688709a5/signaling 200 10ms","method":"POST","requestID":"38345670-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/e8b751b3-4e3f-457d-b929-47bf688709a5/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc40afcc-6622-40c7-831c-2e246da46353","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.1231601} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.76041,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","object_type":"device","rebac_allow":false,"scope_allow":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":"383540d0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMX0.-ZTo7EJcf-xyVo1YKVKWJPWh0h4LBwMM7-Kd5QD4DhU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"81da1bbba5e77df8e3580f191873c8d0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/99026d24-cc4f-409a-8441-9898f3353997/signaling 200 11ms","method":"POST","requestID":"383540d0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/99026d24-cc4f-409a-8441-9898f3353997/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0f36765-5318-49c6-87c4-5ca1eef2bba9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.1306934} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.593394,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","object_type":"device","rebac_allow":false,"scope_allow":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":"38365240-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.818106,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458401,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMX0.-ZTo7EJcf-xyVo1YKVKWJPWh0h4LBwMM7-Kd5QD4DhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81da1bbba5e77df8e3580f191873c8d0"},"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/99026d24-cc4f-409a-8441-9898f3353997/signaling 200 13ms","method":"POST","requestID":"38365240-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/99026d24-cc4f-409a-8441-9898f3353997/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"a75fa30a-e13e-44f4-bcd7-610c0788ba38"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"3943493d-9384-4e5f-8880-dd7c21d3add4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"a286c5b4-8f82-48c6-aee8-a76f89a938c1"}]},"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/e8b751b3-4e3f-457d-b929-47bf688709a5"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997"}],"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.950950861Z"}]},"request_id":"eb5414c2-c202-4282-a9bf-86ba7435b8cd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.1411622} 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":"81da1bbba5e77df8e3580f191873c8d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.735434,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458400,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMH0.7u7vHGlTTgwxkd_0x5Pzvk2h2LbwYhAkIGAfyfP7RSo"} 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":"38395f80-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"23/May/2024:10:00:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e8b751b3-4e3f-457d-b929-47bf688709a5? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81da1bbba5e77df8e3580f191873c8d0"} device-1 | {"level":"info","message":"GET /devices/e8b751b3-4e3f-457d-b929-47bf688709a5? 200 20ms","method":"GET","requestID":"81da1bbba5e77df8e3580f191873c8d0","responseTime":20,"status":200,"url":"/devices/e8b751b3-4e3f-457d-b929-47bf688709a5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMX0.-ZTo7EJcf-xyVo1YKVKWJPWh0h4LBwMM7-Kd5QD4DhU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cb78a3fc25f77ac6da6d820d5befb6b5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"d5f68fd1-93b0-4f11-abff-7d54eed678f7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.158441} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47ce2dc1-5a5d-49c0-bff9-6c6153f39bc1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.1587026} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723628,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} 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":"38395f80-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458401,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwMX0.-ZTo7EJcf-xyVo1YKVKWJPWh0h4LBwMM7-Kd5QD4DhU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb78a3fc25f77ac6da6d820d5befb6b5"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T09:59:58.997456538Z"}]},"request_id":"f2a09fe2-1583-4883-938f-7f2da3267b8e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.1651714} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb78a3fc25f77ac6da6d820d5befb6b5"},"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/c386225b-352c-4b43-b3f7-c03e1618bfef'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef'"} 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":"38395f80-18eb-11ef-97dd-97826c0d9de9","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":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/99026d24-cc4f-409a-8441-9898f3353997? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb78a3fc25f77ac6da6d820d5befb6b5"} device-1 | {"level":"info","message":"GET /devices/99026d24-cc4f-409a-8441-9898f3353997? 200 28ms","method":"GET","requestID":"cb78a3fc25f77ac6da6d820d5befb6b5","responseTime":28,"status":200,"url":"/devices/99026d24-cc4f-409a-8441-9898f3353997?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bab7d825-856f-405f-a0a4-ce2c1b5d5e4f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.218411} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.03761,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38440de0-18eb-11ef-97dd-97826c0d9de9"},"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/e8b751b3-4e3f-457d-b929-47bf688709a5/signaling 200 8ms","method":"POST","requestID":"38440de0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/e8b751b3-4e3f-457d-b929-47bf688709a5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05cd8e0f-ed64-468d-9d83-20bf8937b5a8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458401.228183} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.209346,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","object_type":"device","rebac_allow":false,"scope_allow":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":"38459480-18eb-11ef-97dd-97826c0d9de9"},"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/99026d24-cc4f-409a-8441-9898f3353997/signaling 200 8ms","method":"POST","requestID":"38459480-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/99026d24-cc4f-409a-8441-9898f3353997/signaling"} device-1 | {"data":{"peerconnection":"c386225b-352c-4b43-b3f7-c03e1618bfef","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/c386225b-352c-4b43-b3f7-c03e1618bfef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c386225b-352c-4b43-b3f7-c03e1618bfef","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":"36372ca78fc32f71093b26daecd06d83","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/e8b751b3-4e3f-457d-b929-47bf688709a5'"} 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/e8b751b3-4e3f-457d-b929-47bf688709a5"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"36372ca78fc32f71093b26daecd06d83","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"36372ca78fc32f71093b26daecd06d83"} device-1 | {"data":{"peerconnection":"c386225b-352c-4b43-b3f7-c03e1618bfef","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c386225b-352c-4b43-b3f7-c03e1618bfef","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/c386225b-352c-4b43-b3f7-c03e1618bfef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c386225b-352c-4b43-b3f7-c03e1618bfef","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":"14ae59a7550a0b56d040ed55173c5158","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc386225b-352c-4b43-b3f7-c03e1618bfef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa888bf6-35b7-4ae2-b2e0-8fbc39e1deec","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.355601} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.787926,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef","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":"3989fb60-18eb-11ef-97dd-97826c0d9de9"},"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/c386225b-352c-4b43-b3f7-c03e1618bfef 200 10ms","method":"GET","requestID":"3989fb60-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"14ae59a7550a0b56d040ed55173c5158","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"14ae59a7550a0b56d040ed55173c5158"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea45f45b-e0ea-478d-b1ce-719b2e0577ec","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.3923821} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.113488,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","object_type":"device","rebac_allow":false,"scope_allow":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":"398f2b80-18eb-11ef-97dd-97826c0d9de9"},"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/e8b751b3-4e3f-457d-b929-47bf688709a5/signaling 200 13ms","method":"POST","requestID":"398f2b80-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/e8b751b3-4e3f-457d-b929-47bf688709a5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0dc9f66f-792b-4da2-957d-f3bd18c86dfe","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.4052734} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.502315,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39919c80-18eb-11ef-97dd-97826c0d9de9"},"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/99026d24-cc4f-409a-8441-9898f3353997/signaling 200 11ms","method":"POST","requestID":"39919c80-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/99026d24-cc4f-409a-8441-9898f3353997/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwM30.LoyIbTviVvbb_27pp1eDEQutoAH4WlTz5Xf_PzGWvbk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bca2dccdadc57f78f386ce4fb59c73dc","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.943993,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458403,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwM30.LoyIbTviVvbb_27pp1eDEQutoAH4WlTz5Xf_PzGWvbk"} 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":"bca2dccdadc57f78f386ce4fb59c73dc"},"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/2c647b33-1385-416e-b3ad-e8c7d9a6523f"} gateway-1 | {"time_local":"23/May/2024:10:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bca2dccdadc57f78f386ce4fb59c73dc"} experiment-1 | {"level":"info","message":"GET /experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f 200 9ms","method":"GET","requestID":"bca2dccdadc57f78f386ce4fb59c73dc","responseTime":9,"status":200,"url":"/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwM30.LoyIbTviVvbb_27pp1eDEQutoAH4WlTz5Xf_PzGWvbk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e3a3c9c75f605df6f00873cc416e4bfe","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.646704,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458403,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwM30.LoyIbTviVvbb_27pp1eDEQutoAH4WlTz5Xf_PzGWvbk"} 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":"e3a3c9c75f605df6f00873cc416e4bfe"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.695194,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458403,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwM30.LoyIbTviVvbb_27pp1eDEQutoAH4WlTz5Xf_PzGWvbk"} 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":"39b79b10-18eb-11ef-97dd-97826c0d9de9"},"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/c386225b-352c-4b43-b3f7-c03e1618bfef' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c386225b-352c-4b43-b3f7-c03e1618bfef","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc386225b-352c-4b43-b3f7-c03e1618bfef': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc386225b-352c-4b43-b3f7-c03e1618bfef","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"aa7585f9-7f8f-47ee-bc44-cf524462471e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.6668665} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a2735b0-7097-4d27-8287-83820f268d9c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.6671958} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"84d30f1adc84890f2ab5d6dc43e991cc","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":"9c815072355ab26773d5ef0dde1e6a5d","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":"39b79b10-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"c386225b-352c-4b43-b3f7-c03e1618bfef","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/c386225b-352c-4b43-b3f7-c03e1618bfef 204 47ms","method":"DELETE","requestID":"39b79b10-18eb-11ef-97dd-97826c0d9de9","responseTime":47,"status":204,"url":"/peerconnections/c386225b-352c-4b43-b3f7-c03e1618bfef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8b751b3-4e3f-457d-b929-47bf688709a5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dcf72ed0-16fd-4ec2-a97d-37617edf5401","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.7162123} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.377417,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39c110f0-18eb-11ef-97dd-97826c0d9de9"},"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/e8b751b3-4e3f-457d-b929-47bf688709a5/signaling 200 10ms","method":"POST","requestID":"39c110f0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/e8b751b3-4e3f-457d-b929-47bf688709a5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c647b33-1385-416e-b3ad-e8c7d9a6523f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c647b33-1385-416e-b3ad-e8c7d9a6523f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"3cdaf634-c67c-4c3d-b93c-536adbd90120","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.7262807} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7800666c-ffe7-423c-baa6-9ad57fe61a06","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.726465} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:03Z"} 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":"e3a3c9c75f605df6f00873cc416e4bfe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99026d24-cc4f-409a-8441-9898f3353997","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c0f2f5d-2ecf-401c-9602-49281adc02de","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.7288246} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.586107,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39c2e5b0-18eb-11ef-97dd-97826c0d9de9"},"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/99026d24-cc4f-409a-8441-9898f3353997/signaling 200 11ms","method":"POST","requestID":"39c2e5b0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/99026d24-cc4f-409a-8441-9898f3353997/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"} gateway-1 | {"time_local":"23/May/2024:10:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3a3c9c75f605df6f00873cc416e4bfe"} experiment-1 | {"level":"info","message":"DELETE /experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f 204 138ms","method":"DELETE","requestID":"e3a3c9c75f605df6f00873cc416e4bfe","responseTime":138,"status":204,"url":"/experiments/2c647b33-1385-416e-b3ad-e8c7d9a6523f"} gateway-1 | {"time_local":"23/May/2024:10:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2581","request_time":"4.217","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"63729d92a0ce683e06e2ae5dfa13d521"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 111ms","method":"POST","requestID":"84d30f1adc84890f2ab5d6dc43e991cc","responseTime":111,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.116","http_referrer":"","http_user_agent":"node-fetch","requestID":"84d30f1adc84890f2ab5d6dc43e991cc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 111ms","method":"POST","requestID":"9c815072355ab26773d5ef0dde1e6a5d","responseTime":111,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.116","http_referrer":"","http_user_agent":"node-fetch","requestID":"9c815072355ab26773d5ef0dde1e6a5d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwM30.LoyIbTviVvbb_27pp1eDEQutoAH4WlTz5Xf_PzGWvbk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"562ee6a459720893d9f7ffa0352e9aa1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.849","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2a8534b5917437e268a234dae7e24c1e"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/99026d24-cc4f-409a-8441-9898f3353997' closed"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.807418,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458403,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwM30.LoyIbTviVvbb_27pp1eDEQutoAH4WlTz5Xf_PzGWvbk"} 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":"562ee6a459720893d9f7ffa0352e9aa1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"72a99f47-fb07-4c69-82f1-0eb3e7572f5b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.8067703} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e8b751b3-4e3f-457d-b929-47bf688709a5' closed"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"562ee6a459720893d9f7ffa0352e9aa1"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8831d90-6f53-4589-b612-099dc29a2422","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.8128717} 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":"562ee6a459720893d9f7ffa0352e9aa1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"44479be9-cda1-4741-88cc-21d596e79645","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.8260717} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a720072b-f247-4e2c-9839-3749463a0238","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.8263004} 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":"562ee6a459720893d9f7ffa0352e9aa1"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.826047729Z"}]},"request_id":"0322e671-91f5-471d-9989-151fac22d51d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.83056} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"562ee6a459720893d9f7ffa0352e9aa1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"562ee6a459720893d9f7ffa0352e9aa1"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"562ee6a459720893d9f7ffa0352e9aa1","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwM30.LoyIbTviVvbb_27pp1eDEQutoAH4WlTz5Xf_PzGWvbk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0994cd6996b994c29a8444cc0d03d771","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.730445,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458403,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwM30.LoyIbTviVvbb_27pp1eDEQutoAH4WlTz5Xf_PzGWvbk"} 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":"0994cd6996b994c29a8444cc0d03d771"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"42c37244-1717-405e-9c83-03a38715ddfa","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.8550782} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0994cd6996b994c29a8444cc0d03d771"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5182c3ea-d11e-4445-b313-4dd151648a7a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.8609362} 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":"0994cd6996b994c29a8444cc0d03d771"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"5c21915f-7563-46d8-b6e1-0b50bb8367c1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.8708637} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c438faf6-f3fe-415a-a629-5913116d83fa","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.8710747} 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":"0994cd6996b994c29a8444cc0d03d771"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.870844407Z"}]},"request_id":"c828b966-f6d3-4bcb-bb80-267b1b559efa","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458403.8757224} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0994cd6996b994c29a8444cc0d03d771"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0994cd6996b994c29a8444cc0d03d771"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"0994cd6996b994c29a8444cc0d03d771","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNH0.TcazeXegNJwN_JmWut_ry78hsQuSHzeuBHx_I3Ej0Y0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b59846e3232ecfe6f43a4251fe9afa20","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:04Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709616,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458404,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNH0.TcazeXegNJwN_JmWut_ry78hsQuSHzeuBHx_I3Ej0Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59846e3232ecfe6f43a4251fe9afa20"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.826047729Z"}]},"request_id":"fc879ce8-d654-4080-b061-bf8b41e64cea","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458404.382297} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59846e3232ecfe6f43a4251fe9afa20"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8af1b5dc-1352-4d87-b26e-02b6609f6061","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458404.3878467} 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":"b59846e3232ecfe6f43a4251fe9afa20"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.826047729Z"}]},"request_id":"f0d70a69-bf52-4da8-b1ab-969394d94b05","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458404.4179587} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59846e3232ecfe6f43a4251fe9afa20"},"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/0a1e8335-2779-4377-9f07-8244dd2a7f8a 200 48ms","method":"PATCH","requestID":"b59846e3232ecfe6f43a4251fe9afa20","responseTime":48,"status":200,"url":"/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a"} gateway-1 | {"time_local":"23/May/2024:10:00:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b59846e3232ecfe6f43a4251fe9afa20"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNH0.TcazeXegNJwN_JmWut_ry78hsQuSHzeuBHx_I3Ej0Y0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b196c5d4ef738d237d233c32e68628d3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:04Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947195,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458404,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNH0.TcazeXegNJwN_JmWut_ry78hsQuSHzeuBHx_I3Ej0Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b196c5d4ef738d237d233c32e68628d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a/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":"b196c5d4ef738d237d233c32e68628d3"} device-1 | {"level":"info","message":"POST /devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a/websocket 200 19ms","method":"POST","requestID":"b196c5d4ef738d237d233c32e68628d3","responseTime":19,"status":200,"url":"/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a' 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":"381f1c2cbbf0fda653f3094884baa592","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/33ddee36-7059-468f-85a0-8a04e5f405bf/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":"381f1c2cbbf0fda653f3094884baa592"} device-1 | {"level":"info","message":"OPTIONS /devices/33ddee36-7059-468f-85a0-8a04e5f405bf/websocket 200 1ms","method":"OPTIONS","requestID":"381f1c2cbbf0fda653f3094884baa592","responseTime":1,"status":200,"url":"/devices/33ddee36-7059-468f-85a0-8a04e5f405bf/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"24a3fa8fb5a20497b2adbe6b5a30a37e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697719,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458405,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs"} 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":"24a3fa8fb5a20497b2adbe6b5a30a37e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/33ddee36-7059-468f-85a0-8a04e5f405bf/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":"24a3fa8fb5a20497b2adbe6b5a30a37e"} device-1 | {"level":"info","message":"POST /devices/33ddee36-7059-468f-85a0-8a04e5f405bf/websocket 200 33ms","method":"POST","requestID":"24a3fa8fb5a20497b2adbe6b5a30a37e","responseTime":33,"status":200,"url":"/devices/33ddee36-7059-468f-85a0-8a04e5f405bf/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5d420628ff1f9e9fc5384013b0eb8bea","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141552,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458405,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d420628ff1f9e9fc5384013b0eb8bea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.826047729Z"}]},"request_id":"5b6f1782-81bc-412f-9f25-c56862b56c3f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458405.8576412} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d420628ff1f9e9fc5384013b0eb8bea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d420628ff1f9e9fc5384013b0eb8bea"} device-1 | {"level":"info","message":"GET /devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a? 200 15ms","method":"GET","requestID":"5d420628ff1f9e9fc5384013b0eb8bea","responseTime":15,"status":200,"url":"/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b7e41460d585b458042226738a9ea79","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650727,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458405,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b7e41460d585b458042226738a9ea79"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.870844407Z"}]},"request_id":"68613636-32fa-46da-b8bd-7ecac8be669c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458405.874555} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b7e41460d585b458042226738a9ea79"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/33ddee36-7059-468f-85a0-8a04e5f405bf? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b7e41460d585b458042226738a9ea79"} device-1 | {"level":"info","message":"GET /devices/33ddee36-7059-468f-85a0-8a04e5f405bf? 200 12ms","method":"GET","requestID":"4b7e41460d585b458042226738a9ea79","responseTime":12,"status":200,"url":"/devices/33ddee36-7059-468f-85a0-8a04e5f405bf?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"99450afd78c6e95aec125473032e10fb","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:60464","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.675823,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458405,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs"} 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":"99450afd78c6e95aec125473032e10fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"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:60464","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602169,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458405,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b1137a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.614254,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458405,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b1185c0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.826047729Z"}]},"request_id":"52cd2b2b-1122-48ad-9ea9-151eebd11817","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458405.9231513} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b1137a0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.870844407Z"}]},"request_id":"502eb1f6-7b7a-4fc3-bd61-d4683f7bf09b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458405.9243414} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b1185c0-18eb-11ef-97dd-97826c0d9de9"},"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/0a1e8335-2779-4377-9f07-8244dd2a7f8a? 200 15ms","method":"GET","requestID":"3b1137a0-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/33ddee36-7059-468f-85a0-8a04e5f405bf? 200 14ms","method":"GET","requestID":"3b1185c0-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/33ddee36-7059-468f-85a0-8a04e5f405bf?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"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:60464","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:05Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919227,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458405,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b18d8c0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909928,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458405,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs"} 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":"3b1926e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5beacbe2-1646-49eb-8325-d603f1f6ab0c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458405.9745636} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.32816,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","object_type":"device","rebac_allow":false,"scope_allow":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":"3b197500-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.870844407Z"}]},"request_id":"d9133559-803a-47a0-bcd3-23ba41e9e22b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458405.9776456} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.826047729Z"}]},"request_id":"b04b4b23-5632-4546-a3f7-2fef3bac9231","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458405.978901} 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":"3b1926e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b18d8c0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9e5056e9-0942-4419-b970-808a881507f2#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9e5056e9-0942-4419-b970-808a881507f2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"e099863b-f6e2-434c-be3c-f35aa904c63e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458405.9837801} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28603d9e-9575-46e0-9876-37094a6e2fcb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458405.9841626} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99450afd78c6e95aec125473032e10fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a/signaling 200 19ms","method":"POST","requestID":"3b197500-18eb-11ef-97dd-97826c0d9de9","responseTime":19,"status":200,"url":"/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/33ddee36-7059-468f-85a0-8a04e5f405bf? 200 22ms","method":"GET","requestID":"3b1926e0-18eb-11ef-97dd-97826c0d9de9","responseTime":22,"status":200,"url":"/devices/33ddee36-7059-468f-85a0-8a04e5f405bf?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a? 200 26ms","method":"GET","requestID":"3b18d8c0-18eb-11ef-97dd-97826c0d9de9","responseTime":26,"status":200,"url":"/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:00:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99450afd78c6e95aec125473032e10fb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 116ms","method":"POST","requestID":"99450afd78c6e95aec125473032e10fb","responseTime":116,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b78dd500-9b00-4904-abd7-f28ce217e7ed","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458406.0035827} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.208944,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:06Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNn0.6WhaJ7_5nYn-AXNFD2d7ZG7I6NiRztM9y5hZuaIKydA","level":"info","message":"auth send jwt"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","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":"e845dbf108334488e178dffd9a9ae1a0","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":"3b1d1e80-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"201258ee-28d6-4019-b321-25d8f2d1a7f8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458406.004781} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.192855,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","object_type":"device","rebac_allow":false,"scope_allow":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":"3b1d93b0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941324,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:06Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/33ddee36-7059-468f-85a0-8a04e5f405bf/signaling 200 20ms","method":"POST","requestID":"3b1d1e80-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/33ddee36-7059-468f-85a0-8a04e5f405bf/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458406,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNn0.6WhaJ7_5nYn-AXNFD2d7ZG7I6NiRztM9y5hZuaIKydA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e845dbf108334488e178dffd9a9ae1a0"},"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/0a1e8335-2779-4377-9f07-8244dd2a7f8a/signaling 200 20ms","method":"POST","requestID":"3b1d93b0-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.826047729Z"}]},"request_id":"a84efbd6-59e0-4e51-a76f-2473d6b9f359","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458406.0187254} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e845dbf108334488e178dffd9a9ae1a0"},"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:60464","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ec5fb70-b069-4e9c-97d1-8006c57537ac","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458406.0222356} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.779367,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b20ef10-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e845dbf108334488e178dffd9a9ae1a0"} device-1 | {"level":"info","message":"GET /devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a? 200 18ms","method":"GET","requestID":"e845dbf108334488e178dffd9a9ae1a0","responseTime":18,"status":200,"url":"/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/33ddee36-7059-468f-85a0-8a04e5f405bf/signaling 200 12ms","method":"POST","requestID":"3b20ef10-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/33ddee36-7059-468f-85a0-8a04e5f405bf/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNn0.6WhaJ7_5nYn-AXNFD2d7ZG7I6NiRztM9y5hZuaIKydA","level":"info","message":"auth send jwt"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"85d539fc-316c-46cf-b6bf-8e5079fd393b"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"74f8b226-b544-4194-bdd4-e0afd0488cfd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"12c26c0f-5d72-4cc6-b431-1dd7939be9b8"}]},"level":"info","message":"Built pairwise service configurations"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7e5bd06d71c3195b1c4ebb827f856ef5","responseTime":3,"status":200,"url":"/auth"} 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/33ddee36-7059-468f-85a0-8a04e5f405bf"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.878559,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458406,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNn0.6WhaJ7_5nYn-AXNFD2d7ZG7I6NiRztM9y5hZuaIKydA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e5bd06d71c3195b1c4ebb827f856ef5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.902521,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458405,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwNX0.wx1adLpzpf0VQXKj2SVbvDU7y05TXURQgoDqf_RguUs"} 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":"3b236010-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:03.870844407Z"}]},"request_id":"f27dbcd4-77b8-4a94-ab92-977bda6e7964","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458406.0427208} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e5bd06d71c3195b1c4ebb827f856ef5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/33ddee36-7059-468f-85a0-8a04e5f405bf? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e5bd06d71c3195b1c4ebb827f856ef5"} device-1 | {"level":"info","message":"GET /devices/33ddee36-7059-468f-85a0-8a04e5f405bf? 200 16ms","method":"GET","requestID":"7e5bd06d71c3195b1c4ebb827f856ef5","responseTime":16,"status":200,"url":"/devices/33ddee36-7059-468f-85a0-8a04e5f405bf?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"bd282b49-d87b-4355-938d-b1ab4dae23ee","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458406.049672} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46445610-18a5-4489-b3f1-924b08226f88","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458406.0500174} 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":"3b236010-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15'"} 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":"3b236010-18eb-11ef-97dd-97826c0d9de9","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/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf3778c2-1064-4ce8-bee4-7f7cd4d6c6d4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458406.1065204} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.882115,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","object_type":"device","rebac_allow":false,"scope_allow":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":"3b2dc050-18eb-11ef-97dd-97826c0d9de9"},"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/0a1e8335-2779-4377-9f07-8244dd2a7f8a/signaling 200 12ms","method":"POST","requestID":"3b2dc050-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"113cbdb8-543e-4a57-a5f2-bccd52397152","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458406.1209276} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.296662,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b300a40-18eb-11ef-97dd-97826c0d9de9"},"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/33ddee36-7059-468f-85a0-8a04e5f405bf/signaling 200 9ms","method":"POST","requestID":"3b300a40-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/33ddee36-7059-468f-85a0-8a04e5f405bf/signaling"} device-1 | {"data":{"peerconnection":"a680072c-9f90-47f3-ae6c-a3576aa89c15","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a680072c-9f90-47f3-ae6c-a3576aa89c15","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":"e0abed2bd7155fedecf44374cb386b66","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"e0abed2bd7155fedecf44374cb386b66","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"e0abed2bd7155fedecf44374cb386b66"} device-1 | {"data":{"peerconnection":"a680072c-9f90-47f3-ae6c-a3576aa89c15","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a680072c-9f90-47f3-ae6c-a3576aa89c15","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/a680072c-9f90-47f3-ae6c-a3576aa89c15' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a680072c-9f90-47f3-ae6c-a3576aa89c15","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":"a91b30db031b3dea6443472c7eb7e2dc","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/33ddee36-7059-468f-85a0-8a04e5f405bf"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa680072c-9f90-47f3-ae6c-a3576aa89c15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24ac0f15-a05a-47d6-b03a-f6dd4662c02e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.3006096} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.553707,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15","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":"3c7cae80-18eb-11ef-97dd-97826c0d9de9"},"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/a680072c-9f90-47f3-ae6c-a3576aa89c15 200 8ms","method":"GET","requestID":"3c7cae80-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"a91b30db031b3dea6443472c7eb7e2dc","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"a91b30db031b3dea6443472c7eb7e2dc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a383ac68-64ff-4291-bfce-c1a8b36c0d10","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.329305} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.141284,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","object_type":"device","rebac_allow":false,"scope_allow":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":"3c811b50-18eb-11ef-97dd-97826c0d9de9"},"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/33ddee36-7059-468f-85a0-8a04e5f405bf/signaling 200 8ms","method":"POST","requestID":"3c811b50-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/33ddee36-7059-468f-85a0-8a04e5f405bf/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.996212,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2747ce2-8e04-4e13-aff3-f1b3e1aa9378","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.3403537} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","object_type":"device","rebac_allow":false,"scope_allow":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":"3c82a1f0-18eb-11ef-97dd-97826c0d9de9"},"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/0a1e8335-2779-4377-9f07-8244dd2a7f8a/signaling 200 11ms","method":"POST","requestID":"3c82a1f0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOH0.ZlRDExdcJHT6n5Eav_ho_LiFZhnxY-f3peyQGGzq4bA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cb2846ba2763d8399a6a6eca20a2ac6d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9e5056e9-0942-4419-b970-808a881507f2"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.682772,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458408,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOH0.ZlRDExdcJHT6n5Eav_ho_LiFZhnxY-f3peyQGGzq4bA"} 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":"cb2846ba2763d8399a6a6eca20a2ac6d"},"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/9e5056e9-0942-4419-b970-808a881507f2"} experiment-1 | {"level":"info","message":"GET /experiments/9e5056e9-0942-4419-b970-808a881507f2 200 12ms","method":"GET","requestID":"cb2846ba2763d8399a6a6eca20a2ac6d","responseTime":12,"status":200,"url":"/experiments/9e5056e9-0942-4419-b970-808a881507f2"} gateway-1 | {"time_local":"23/May/2024:10:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9e5056e9-0942-4419-b970-808a881507f2 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb2846ba2763d8399a6a6eca20a2ac6d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOH0.ZlRDExdcJHT6n5Eav_ho_LiFZhnxY-f3peyQGGzq4bA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"522b7f0ce53c2048fac6ddb8d0833886","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9e5056e9-0942-4419-b970-808a881507f2"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.620134,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458408,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOH0.ZlRDExdcJHT6n5Eav_ho_LiFZhnxY-f3peyQGGzq4bA"} 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":"522b7f0ce53c2048fac6ddb8d0833886"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.692406,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458408,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOH0.ZlRDExdcJHT6n5Eav_ho_LiFZhnxY-f3peyQGGzq4bA"} 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":"3c8e3ab0-18eb-11ef-97dd-97826c0d9de9"},"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/a680072c-9f90-47f3-ae6c-a3576aa89c15' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a680072c-9f90-47f3-ae6c-a3576aa89c15","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa680072c-9f90-47f3-ae6c-a3576aa89c15': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa680072c-9f90-47f3-ae6c-a3576aa89c15","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"e0fd7f2f-7ee6-4a2e-b80c-0bf6d4e66809","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.4251094} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"152ca172-9fe2-4dff-97b3-cc2b238fb692","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.4253404} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bd015dc7a496363e97a2a1b04c35d69a","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":"3c8e3ab0-18eb-11ef-97dd-97826c0d9de9"},"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":"be699d213b9d9347075fd7f1b20f24ac","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/33ddee36-7059-468f-85a0-8a04e5f405bf"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"a680072c-9f90-47f3-ae6c-a3576aa89c15","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/a680072c-9f90-47f3-ae6c-a3576aa89c15 204 47ms","method":"DELETE","requestID":"3c8e3ab0-18eb-11ef-97dd-97826c0d9de9","responseTime":47,"status":204,"url":"/peerconnections/a680072c-9f90-47f3-ae6c-a3576aa89c15"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e5056e9-0942-4419-b970-808a881507f2"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33ddee36-7059-468f-85a0-8a04e5f405bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"233f61ca-ab5c-41d9-9256-79c7757566e0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.4908366} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.259147,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33ddee36-7059-468f-85a0-8a04e5f405bf","object_type":"device","rebac_allow":false,"scope_allow":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":"3c993730-18eb-11ef-97dd-97826c0d9de9"},"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/33ddee36-7059-468f-85a0-8a04e5f405bf/signaling 200 14ms","method":"POST","requestID":"3c993730-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/33ddee36-7059-468f-85a0-8a04e5f405bf/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9e5056e9-0942-4419-b970-808a881507f2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9e5056e9-0942-4419-b970-808a881507f2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"abce9ac2-eea8-4c1b-bdb0-8d31c89d8195","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.4967399} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9d9b63e-f5c6-4a70-aed4-7eec3afc061b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.497577} 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":"522b7f0ce53c2048fac6ddb8d0833886"},"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:60464","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a1e8335-2779-4377-9f07-8244dd2a7f8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29a0f68f-07c8-438e-974a-2ebc0c58b077","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.51674} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.29141,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c9da400-18eb-11ef-97dd-97826c0d9de9"},"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/0a1e8335-2779-4377-9f07-8244dd2a7f8a/signaling 200 9ms","method":"POST","requestID":"3c9da400-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9e5056e9-0942-4419-b970-808a881507f2"} gateway-1 | {"time_local":"23/May/2024:10:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9e5056e9-0942-4419-b970-808a881507f2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"522b7f0ce53c2048fac6ddb8d0833886"} gateway-1 | {"time_local":"23/May/2024:10:00:08 +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.161","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7f42376705687ab992c7eeea776e63d7"} experiment-1 | {"level":"info","message":"DELETE /experiments/9e5056e9-0942-4419-b970-808a881507f2 204 207ms","method":"DELETE","requestID":"522b7f0ce53c2048fac6ddb8d0833886","responseTime":207,"status":204,"url":"/experiments/9e5056e9-0942-4419-b970-808a881507f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOH0.ZlRDExdcJHT6n5Eav_ho_LiFZhnxY-f3peyQGGzq4bA","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 186ms","method":"POST","requestID":"bd015dc7a496363e97a2a1b04c35d69a","responseTime":186,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c3709ec5bc23ff1e970c73bb0d7b3bc3","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"bd015dc7a496363e97a2a1b04c35d69a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 186ms","method":"POST","requestID":"be699d213b9d9347075fd7f1b20f24ac","responseTime":186,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"be699d213b9d9347075fd7f1b20f24ac"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:00:08 +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.789","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9519d57470e7456cb5061acd19b0043e"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.891862,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:08Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0a1e8335-2779-4377-9f07-8244dd2a7f8a' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458408,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOH0.ZlRDExdcJHT6n5Eav_ho_LiFZhnxY-f3peyQGGzq4bA"} 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":"c3709ec5bc23ff1e970c73bb0d7b3bc3"},"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/33ddee36-7059-468f-85a0-8a04e5f405bf' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e92957be-bbcf-443d-bde8-6592e279a817","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.6397414} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c3709ec5bc23ff1e970c73bb0d7b3bc3"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf3a1304-6db4-4e78-b8e7-61d2275a6e41","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.6447206} 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":"c3709ec5bc23ff1e970c73bb0d7b3bc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"2ee79327-1a0b-45bb-bc6f-524c08b73269","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.6542113} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9e14470-a802-4955-b3c4-4b63025077f7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.6544747} 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":"c3709ec5bc23ff1e970c73bb0d7b3bc3"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.654192068Z"}]},"request_id":"b0b6fd8f-17e2-450c-838b-e15d187f1385","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.6589978} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c3709ec5bc23ff1e970c73bb0d7b3bc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3709ec5bc23ff1e970c73bb0d7b3bc3"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"c3709ec5bc23ff1e970c73bb0d7b3bc3","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOH0.ZlRDExdcJHT6n5Eav_ho_LiFZhnxY-f3peyQGGzq4bA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9fddebf55546d997d49c76529a298297","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.935634,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458408,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOH0.ZlRDExdcJHT6n5Eav_ho_LiFZhnxY-f3peyQGGzq4bA"} 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":"9fddebf55546d997d49c76529a298297"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f9dde63c-9637-4b75-bf53-9db75fb27496","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.6844773} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fddebf55546d997d49c76529a298297"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"790558af-d088-4e5f-a140-4b1138b29046","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.6894875} 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":"9fddebf55546d997d49c76529a298297"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"85f3fe30-a1e0-464d-8477-5704f2b61bef","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.7005146} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e6c4666-73b9-447b-98d5-ddfdb02fdb01","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.7008283} 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":"9fddebf55546d997d49c76529a298297"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.700485814Z"}]},"request_id":"9cc2b679-6a2e-4012-9a32-2811f4c1a330","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458408.7056413} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fddebf55546d997d49c76529a298297"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9fddebf55546d997d49c76529a298297"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"9fddebf55546d997d49c76529a298297","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"91fe39d0475df9bb9781c07dc18adcd2","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8becfb46b3e9ac8051499d6e6a698cb6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692918,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91fe39d0475df9bb9781c07dc18adcd2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666218,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8becfb46b3e9ac8051499d6e6a698cb6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.700485814Z"}]},"request_id":"307e4676-8505-4a65-875b-843142463f6a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.2373998} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91fe39d0475df9bb9781c07dc18adcd2"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.654192068Z"}]},"request_id":"97863043-7735-4dcf-b42f-600517ddab60","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.2380657} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8becfb46b3e9ac8051499d6e6a698cb6"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"adc91183-7018-49ea-a206-83c0d55f1536","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.2439983} 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":"91fe39d0475df9bb9781c07dc18adcd2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f20999be-e40f-4991-9d0a-86fd5835f782","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.246425} 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":"8becfb46b3e9ac8051499d6e6a698cb6"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.654192068Z"}]},"request_id":"7e3cd5e0-e81a-4af0-8da5-96aad01ce5da","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.2498648} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8becfb46b3e9ac8051499d6e6a698cb6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8becfb46b3e9ac8051499d6e6a698cb6"} device-1 | {"level":"info","message":"PATCH /devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d 200 26ms","method":"PATCH","requestID":"8becfb46b3e9ac8051499d6e6a698cb6","responseTime":26,"status":200,"url":"/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f1a7fb35209c877a27033d0bda921dd4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919379,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1a7fb35209c877a27033d0bda921dd4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.700485814Z"}]},"request_id":"df84b473-b7d6-45ca-bc69-016e7c97bade","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.261398} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91fe39d0475df9bb9781c07dc18adcd2"},"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/0e94458d-1621-4480-b78a-4e31af9397f3 200 41ms","method":"PATCH","requestID":"91fe39d0475df9bb9781c07dc18adcd2","responseTime":41,"status":200,"url":"/devices/0e94458d-1621-4480-b78a-4e31af9397f3"} gateway-1 | {"time_local":"23/May/2024:10:00:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0e94458d-1621-4480-b78a-4e31af9397f3 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"91fe39d0475df9bb9781c07dc18adcd2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6c9f82715d6c7f26305ba3851ee708c7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713794,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} 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":"6c9f82715d6c7f26305ba3851ee708c7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/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":"f1a7fb35209c877a27033d0bda921dd4"} device-1 | {"level":"info","message":"POST /devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/websocket 200 20ms","method":"POST","requestID":"f1a7fb35209c877a27033d0bda921dd4","responseTime":20,"status":200,"url":"/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0e94458d-1621-4480-b78a-4e31af9397f3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6c9f82715d6c7f26305ba3851ee708c7"} device-1 | {"level":"info","message":"POST /devices/0e94458d-1621-4480-b78a-4e31af9397f3/websocket 200 35ms","method":"POST","requestID":"6c9f82715d6c7f26305ba3851ee708c7","responseTime":35,"status":200,"url":"/devices/0e94458d-1621-4480-b78a-4e31af9397f3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f24b4935ce36676bfd57c1a63e2f3785","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737302,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} 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":"f24b4935ce36676bfd57c1a63e2f3785"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.654192068Z"}]},"request_id":"0f822108-6de0-414e-9b32-1712f5114fa1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.332737} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f24b4935ce36676bfd57c1a63e2f3785"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f24b4935ce36676bfd57c1a63e2f3785"} device-1 | {"level":"info","message":"GET /devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d? 200 13ms","method":"GET","requestID":"f24b4935ce36676bfd57c1a63e2f3785","responseTime":13,"status":200,"url":"/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cbf830a4eb9d7e39ccdd97ee7d1d23ad","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673925,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbf830a4eb9d7e39ccdd97ee7d1d23ad"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.700485814Z"}]},"request_id":"a0973328-5551-40fd-9959-3e8a3809f184","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.348431} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbf830a4eb9d7e39ccdd97ee7d1d23ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0e94458d-1621-4480-b78a-4e31af9397f3? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cbf830a4eb9d7e39ccdd97ee7d1d23ad"} device-1 | {"level":"info","message":"GET /devices/0e94458d-1621-4480-b78a-4e31af9397f3? 200 10ms","method":"GET","requestID":"cbf830a4eb9d7e39ccdd97ee7d1d23ad","responseTime":10,"status":200,"url":"/devices/0e94458d-1621-4480-b78a-4e31af9397f3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"45230d278d39b717b9b1471bbb62ba28","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:60464","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.734321,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} 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":"45230d278d39b717b9b1471bbb62ba28"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"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:60464","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893526,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d2571a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725116,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d2598b0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.654192068Z"}]},"request_id":"32f88c4e-4c2d-40ed-a4fc-3bcb67ac42ca","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.4114945} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d2571a0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.700485814Z"}]},"request_id":"6ca9e801-3ffc-4700-a620-2b0b0b804870","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.4122095} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d2598b0-18eb-11ef-97dd-97826c0d9de9"},"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/f0184d2b-9174-4ca6-8fac-a1143ae21f9d? 200 14ms","method":"GET","requestID":"3d2571a0-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0e94458d-1621-4480-b78a-4e31af9397f3? 200 14ms","method":"GET","requestID":"3d2598b0-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/0e94458d-1621-4480-b78a-4e31af9397f3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"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:60464","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703177,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d2faad0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708604,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} 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":"3d2fd1e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.297174,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71189eec-9930-4389-b858-12c6281987ba","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.4798357} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.654192068Z"}]},"request_id":"cef86348-465f-4a52-9833-b9724fba14ae","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.4815757} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","object_type":"device","rebac_allow":false,"scope_allow":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":"3d302000-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.700485814Z"}]},"request_id":"96bc1000-0e58-4389-aff1-0c8800e7dccb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.482406} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d2faad0-18eb-11ef-97dd-97826c0d9de9"},"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":"3d2fd1e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/signaling 200 16ms","method":"POST","requestID":"3d302000-18eb-11ef-97dd-97826c0d9de9","responseTime":16,"status":200,"url":"/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d? 200 20ms","method":"GET","requestID":"3d2faad0-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0e94458d-1621-4480-b78a-4e31af9397f3? 200 20ms","method":"GET","requestID":"3d2fd1e0-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/0e94458d-1621-4480-b78a-4e31af9397f3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fed53bf6f-0c8b-486b-8648-3d26aab2b4d8#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fed53bf6f-0c8b-486b-8648-3d26aab2b4d8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"7a54647b-ff89-4611-93e5-4bfefd68126e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.491605} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05a765cd-d783-4e1f-895b-fa58c26c5267","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.4917843} 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":"45230d278d39b717b9b1471bbb62ba28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df552bd7-7f6c-44ad-a7e9-7d411b6f13be","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.497875} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.838881,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d330630-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2db59964-b4e5-4a6e-954c-e3883496383e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.4988399} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.718496,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","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/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"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":"3d335450-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"23/May/2024:10:00:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45230d278d39b717b9b1471bbb62ba28"} experiment-1 | {"level":"info","message":"POST /experiments? 201 145ms","method":"POST","requestID":"45230d278d39b717b9b1471bbb62ba28","responseTime":145,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0e94458d-1621-4480-b78a-4e31af9397f3/signaling 200 13ms","method":"POST","requestID":"3d330630-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/0e94458d-1621-4480-b78a-4e31af9397f3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/signaling 200 13ms","method":"POST","requestID":"3d335450-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1eae83ae725d28fe6650ebfcd256428d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1fa9278a-736e-4146-bdbd-48c98927013e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.5137014} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90315,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1eae83ae725d28fe6650ebfcd256428d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.83407,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","object_type":"device","rebac_allow":false,"scope_allow":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":"3d35c550-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.654192068Z"}]},"request_id":"b67c61c7-df95-4e75-a663-50957dc88ac6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.5188468} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0e94458d-1621-4480-b78a-4e31af9397f3/signaling 200 10ms","method":"POST","requestID":"3d35c550-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/0e94458d-1621-4480-b78a-4e31af9397f3/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":"1eae83ae725d28fe6650ebfcd256428d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"8e0585c3-0a54-45a1-b808-283416d2c2d4"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"9d3bf368-9c34-4d4e-abfc-4f1512ac6b47"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"b6a4380e-fefb-4d8a-bad4-78bebcea4357"}]},"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/f0184d2b-9174-4ca6-8fac-a1143ae21f9d"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1eae83ae725d28fe6650ebfcd256428d"} device-1 | {"level":"info","message":"GET /devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d? 200 12ms","method":"GET","requestID":"1eae83ae725d28fe6650ebfcd256428d","responseTime":12,"status":200,"url":"/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2f2fa122a04f1526fb8a9602013995a3","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.768227,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} 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":"3d380f40-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697712,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458409,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQwOX0.E0t6wwA8bkrXOyuEZsUsB97eMd5PNdsevTHLK8BUyUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2f2fa122a04f1526fb8a9602013995a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:08.700485814Z"}]},"request_id":"b9dc2a9b-a4d7-43b4-ac83-2fa0772ccc16","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.5367844} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2f2fa122a04f1526fb8a9602013995a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"905a54b3-c897-46df-96fc-b3cd36e3aec2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.5385244} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"347c672e-58d4-46d0-a1e5-ddfcf503ecf8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.5388772} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"3d380f40-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"GET /devices/0e94458d-1621-4480-b78a-4e31af9397f3? 200 15ms","method":"GET","requestID":"2f2fa122a04f1526fb8a9602013995a3","responseTime":15,"status":200,"url":"/devices/0e94458d-1621-4480-b78a-4e31af9397f3?"} gateway-1 | {"time_local":"23/May/2024:10:00:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0e94458d-1621-4480-b78a-4e31af9397f3? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f2fa122a04f1526fb8a9602013995a3"} 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/c25f4f3d-5565-460b-b976-53c8deef4f21'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21'"} 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 62ms","method":"POST","requestID":"3d380f40-18eb-11ef-97dd-97826c0d9de9","responseTime":62,"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/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40e2d93f-dcf3-4830-8592-58c3e20caa84","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.623912} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.921357,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d466720-18eb-11ef-97dd-97826c0d9de9"},"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/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/signaling 200 10ms","method":"POST","requestID":"3d466720-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bff7e165-4ef9-4a5d-b673-78435cb78d37","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458409.6349423} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.075655,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","object_type":"device","rebac_allow":false,"scope_allow":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":"3d483be0-18eb-11ef-97dd-97826c0d9de9"},"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/0e94458d-1621-4480-b78a-4e31af9397f3/signaling 200 9ms","method":"POST","requestID":"3d483be0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/0e94458d-1621-4480-b78a-4e31af9397f3/signaling"} device-1 | {"data":{"peerconnection":"c25f4f3d-5565-460b-b976-53c8deef4f21","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c25f4f3d-5565-460b-b976-53c8deef4f21","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/c25f4f3d-5565-460b-b976-53c8deef4f21' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c25f4f3d-5565-460b-b976-53c8deef4f21","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":"70f7457c8391783e02a7faf20271bc8f","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/f0184d2b-9174-4ca6-8fac-a1143ae21f9d"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"70f7457c8391783e02a7faf20271bc8f","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"70f7457c8391783e02a7faf20271bc8f"} device-1 | {"data":{"peerconnection":"c25f4f3d-5565-460b-b976-53c8deef4f21","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c25f4f3d-5565-460b-b976-53c8deef4f21","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/c25f4f3d-5565-460b-b976-53c8deef4f21' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c25f4f3d-5565-460b-b976-53c8deef4f21","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":"cff7f478e1f53053ef9a620a74fc3b76","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc25f4f3d-5565-460b-b976-53c8deef4f21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de1d4a15-db62-4384-950b-785422c1c5d1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458411.6920028} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.939026,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21","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":"3e821b70-18eb-11ef-97dd-97826c0d9de9"},"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/c25f4f3d-5565-460b-b976-53c8deef4f21 200 10ms","method":"GET","requestID":"3e821b70-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"cff7f478e1f53053ef9a620a74fc3b76","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"cff7f478e1f53053ef9a620a74fc3b76"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f167af9e-5905-49f1-aa90-6972d7406444","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458411.7230306} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.781569,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","object_type":"device","rebac_allow":false,"scope_allow":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":"3e86af50-18eb-11ef-97dd-97826c0d9de9"},"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/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/signaling 200 11ms","method":"POST","requestID":"3e86af50-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c55e6e89-ba79-4e91-bb11-108916787773","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458411.7349102} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.275685,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","object_type":"device","rebac_allow":false,"scope_allow":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":"3e88ab20-18eb-11ef-97dd-97826c0d9de9"},"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/0e94458d-1621-4480-b78a-4e31af9397f3/signaling 200 9ms","method":"POST","requestID":"3e88ab20-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/0e94458d-1621-4480-b78a-4e31af9397f3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxMX0.lpVpM_ax3jKCnQfX1UWWZYRwLlk4dsOgmY_RyLAh2Oc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9a13ed42972477c5b65e39009dd6eef6","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.209385,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458411,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxMX0.lpVpM_ax3jKCnQfX1UWWZYRwLlk4dsOgmY_RyLAh2Oc"} 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":"9a13ed42972477c5b65e39009dd6eef6"},"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/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"} gateway-1 | {"time_local":"23/May/2024:10:00:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8 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":"9a13ed42972477c5b65e39009dd6eef6"} experiment-1 | {"level":"info","message":"GET /experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8 200 15ms","method":"GET","requestID":"9a13ed42972477c5b65e39009dd6eef6","responseTime":15,"status":200,"url":"/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxMX0.lpVpM_ax3jKCnQfX1UWWZYRwLlk4dsOgmY_RyLAh2Oc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"04aafceef44550b2d0b2959b90b44c94","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.240684,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458411,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxMX0.lpVpM_ax3jKCnQfX1UWWZYRwLlk4dsOgmY_RyLAh2Oc"} 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":"04aafceef44550b2d0b2959b90b44c94"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.155473,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458411,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxMX0.lpVpM_ax3jKCnQfX1UWWZYRwLlk4dsOgmY_RyLAh2Oc"} 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":"3ea35f10-18eb-11ef-97dd-97826c0d9de9"},"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/c25f4f3d-5565-460b-b976-53c8deef4f21' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c25f4f3d-5565-460b-b976-53c8deef4f21","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc25f4f3d-5565-460b-b976-53c8deef4f21': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc25f4f3d-5565-460b-b976-53c8deef4f21","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"3be4ece4-1b09-4e5c-b913-cda67248ef78","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458411.9244258} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2be8ff1287dd0a4985c548f643f40d87","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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49dc03af-005f-4e71-982a-ac8872c2c504","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458411.9247162} 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":"3ea35f10-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b72f32479a0e793bd268265621e868ca","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"c25f4f3d-5565-460b-b976-53c8deef4f21","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/c25f4f3d-5565-460b-b976-53c8deef4f21 204 45ms","method":"DELETE","requestID":"3ea35f10-18eb-11ef-97dd-97826c0d9de9","responseTime":45,"status":204,"url":"/peerconnections/c25f4f3d-5565-460b-b976-53c8deef4f21"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0184d2b-9174-4ca6-8fac-a1143ae21f9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"362426ba-99fc-456c-8d16-94d001bb5e31","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458411.9735417} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.999562,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d","object_type":"device","rebac_allow":false,"scope_allow":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":"3eac5fc0-18eb-11ef-97dd-97826c0d9de9"},"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/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/signaling 200 15ms","method":"POST","requestID":"3eac5fc0-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/f0184d2b-9174-4ca6-8fac-a1143ae21f9d/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fed53bf6f-0c8b-486b-8648-3d26aab2b4d8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fed53bf6f-0c8b-486b-8648-3d26aab2b4d8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"63e1f53b-9cc5-4f65-8d9e-ef574bbb5d83","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458411.981205} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a2ade6a-1274-4354-b5e5-de213aed6644","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458411.9817164} 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":"04aafceef44550b2d0b2959b90b44c94"},"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:60464","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.111824,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:11Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e94458d-1621-4480-b78a-4e31af9397f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffa57aec-d1ca-4595-8d31-23ab1aa27eb3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458411.988465} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e94458d-1621-4480-b78a-4e31af9397f3","object_type":"device","rebac_allow":false,"scope_allow":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":"3eaf1ee0-18eb-11ef-97dd-97826c0d9de9"},"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/0e94458d-1621-4480-b78a-4e31af9397f3/signaling 200 13ms","method":"POST","requestID":"3eaf1ee0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/0e94458d-1621-4480-b78a-4e31af9397f3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"} gateway-1 | {"time_local":"23/May/2024:10:00:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04aafceef44550b2d0b2959b90b44c94"} experiment-1 | {"level":"info","message":"DELETE /experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8 204 146ms","method":"DELETE","requestID":"04aafceef44550b2d0b2959b90b44c94","responseTime":146,"status":204,"url":"/experiments/ed53bf6f-0c8b-486b-8648-3d26aab2b4d8"} gateway-1 | {"time_local":"23/May/2024:10:00: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.755","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"553cb9387c950a54c89ef674cb5eebc4"} gateway-1 | {"time_local":"23/May/2024:10:00: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.727","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ae6bcab2d3504c2d0b7d210d3ca72410"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 111ms","method":"POST","requestID":"2be8ff1287dd0a4985c548f643f40d87","responseTime":111,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.114","http_referrer":"","http_user_agent":"node-fetch","requestID":"2be8ff1287dd0a4985c548f643f40d87"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 110ms","method":"POST","requestID":"b72f32479a0e793bd268265621e868ca","responseTime":110,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.114","http_referrer":"","http_user_agent":"node-fetch","requestID":"b72f32479a0e793bd268265621e868ca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxMn0.gInr5zouN9tm4na9pqDt7hUTSBcGpnUWK55rqJGFyiA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"483acd708807cbe663af247665f597a8","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/0e94458d-1621-4480-b78a-4e31af9397f3' closed"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.847306,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458412,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxMn0.gInr5zouN9tm4na9pqDt7hUTSBcGpnUWK55rqJGFyiA"} 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":"483acd708807cbe663af247665f597a8"},"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/f0184d2b-9174-4ca6-8fac-a1143ae21f9d' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0bab11a8-e0a9-4a2f-b121-97e7cf111c3d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458412.0617578} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"483acd708807cbe663af247665f597a8"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"929c61b6-d459-4da2-a0ef-441ffe3e9347","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458412.069569} 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":"483acd708807cbe663af247665f597a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"975139be-849b-4614-bd75-dd9af0a4bd93","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458412.082746} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1501b93-eae3-41c4-836a-56b4e840f4a5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458412.086542} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"483acd708807cbe663af247665f597a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:12.082716899Z"}]},"request_id":"94ee728e-2a31-4114-a1c0-c250f8fde424","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458412.0923705} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"483acd708807cbe663af247665f597a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"483acd708807cbe663af247665f597a8"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"483acd708807cbe663af247665f597a8","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxMn0.gInr5zouN9tm4na9pqDt7hUTSBcGpnUWK55rqJGFyiA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b5fdbfa1954e99524c7ced8111278bb5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.960528,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458412,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxMn0.gInr5zouN9tm4na9pqDt7hUTSBcGpnUWK55rqJGFyiA"} 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":"b5fdbfa1954e99524c7ced8111278bb5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"694fa6c3-e07b-4119-be90-328d7fb0fceb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458412.1204536} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5fdbfa1954e99524c7ced8111278bb5"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a57d6b52-e39f-4b5b-841b-51c86cd543c1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458412.1261485} 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":"b5fdbfa1954e99524c7ced8111278bb5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"6c52400a-2186-4b4d-923d-5dde9dd6887e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458412.1366787} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9afca6f1-d6eb-4fdc-8bfd-4784a13e1e49","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458412.137056} 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":"b5fdbfa1954e99524c7ced8111278bb5"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:12.136643051Z"}]},"request_id":"8d12d4b1-aaeb-46a0-bde0-125728cb6018","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458412.1418548} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5fdbfa1954e99524c7ced8111278bb5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"b5fdbfa1954e99524c7ced8111278bb5","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:00:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b5fdbfa1954e99524c7ced8111278bb5"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cd431eaa59ccefef283877e915fe01d0","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/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":"cd431eaa59ccefef283877e915fe01d0"} device-1 | {"level":"info","message":"OPTIONS /devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/websocket 200 1ms","method":"OPTIONS","requestID":"cd431eaa59ccefef283877e915fe01d0","responseTime":1,"status":200,"url":"/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1c6df1205a8ed5dd8cb3a9355ef95ecf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744327,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c6df1205a8ed5dd8cb3a9355ef95ecf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"32196c5a25228c7aab6d4e09f3b19557","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/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":"32196c5a25228c7aab6d4e09f3b19557"} device-1 | {"level":"info","message":"OPTIONS /devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/websocket 200 0ms","method":"OPTIONS","requestID":"32196c5a25228c7aab6d4e09f3b19557","responseTime":0,"status":200,"url":"/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d04fec4f230b755597559129e982634","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687149,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d04fec4f230b755597559129e982634"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1c6df1205a8ed5dd8cb3a9355ef95ecf"} device-1 | {"level":"info","message":"POST /devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/websocket 200 30ms","method":"POST","requestID":"1c6df1205a8ed5dd8cb3a9355ef95ecf","responseTime":30,"status":200,"url":"/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/websocket 200 23ms","method":"POST","requestID":"0d04fec4f230b755597559129e982634","responseTime":23,"status":200,"url":"/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/websocket"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/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":"0d04fec4f230b755597559129e982634"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"41c1dced30be52de51eeab88e2e94b20","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702023,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} 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":"41c1dced30be52de51eeab88e2e94b20"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:12.082716899Z"}]},"request_id":"cb2eba4b-2323-4f8c-aa88-8a062fdee5da","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.1398659} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41c1dced30be52de51eeab88e2e94b20"},"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/79bbf3bc-b94d-46ba-b1d3-2718574f7aab? 200 13ms","method":"GET","requestID":"41c1dced30be52de51eeab88e2e94b20","responseTime":13,"status":200,"url":"/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab?"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"41c1dced30be52de51eeab88e2e94b20"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd5d365f70f89ba82ccb5f75a9fe9226","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672115,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} 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":"dd5d365f70f89ba82ccb5f75a9fe9226"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:12.136643051Z"}]},"request_id":"a3465739-3139-46b1-90b1-b0aa72e93bea","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.1567013} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd5d365f70f89ba82ccb5f75a9fe9226"},"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/1c5f8965-1af1-4db3-9148-a46cb0b90cb1? 200 11ms","method":"GET","requestID":"dd5d365f70f89ba82ccb5f75a9fe9226","responseTime":11,"status":200,"url":"/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1?"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd5d365f70f89ba82ccb5f75a9fe9226"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7952c5f620a755a839a407e7f145de83","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:60464","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.675655,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} 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":"7952c5f620a755a839a407e7f145de83"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"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:60464","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631323,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} 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":"40016870-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.967972,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4001b690-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:12.082716899Z"}]},"request_id":"c60d90b1-acae-4505-a404-43adc14901af","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.2073095} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40016870-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:12.136643051Z"}]},"request_id":"6430aa73-46d7-4891-a0f1-201c8caae097","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.2082157} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4001b690-18eb-11ef-97dd-97826c0d9de9"},"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/79bbf3bc-b94d-46ba-b1d3-2718574f7aab? 200 14ms","method":"GET","requestID":"40016870-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1? 200 13ms","method":"GET","requestID":"4001b690-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"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/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.985253,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"400a9030-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726577,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"400ade50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47944","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:12.136643051Z"}]},"request_id":"0c87478e-6d2c-485f-9335-84124ee855c1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.2706914} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"400ade50-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:12.082716899Z"}]},"request_id":"e935030c-5782-407a-82f3-31a91d13f02c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.2720737} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"400a9030-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90df0815-4fec-404a-b97b-59169eae6c9b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.273855} authorization-1 | {"client_addr":"127.0.0.1:47944","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.151064,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","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 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":"400b0560-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"GET /devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1? 200 16ms","method":"GET","requestID":"400ade50-18eb-11ef-97dd-97826c0d9de9","responseTime":16,"status":200,"url":"/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab? 200 21ms","method":"GET","requestID":"400a9030-18eb-11ef-97dd-97826c0d9de9","responseTime":21,"status":200,"url":"/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdb4bfd8d-fcf2-40fa-9dd7-a5920e571143#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdb4bfd8d-fcf2-40fa-9dd7-a5920e571143","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"9113d6a2-5c51-4979-a12e-35add0f37845","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.2802594} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a31e5652-d29f-4ec6-aafd-3cd09c594b5d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.280539} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/signaling 200 20ms","method":"POST","requestID":"400b0560-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7952c5f620a755a839a407e7f145de83"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0fd1495b-f164-438e-adfc-a981ba76994d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.2880652} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee8822ac-b279-4b70-a7bf-88c4bbede55b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.28889} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.312759,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","object_type":"device","rebac_allow":false,"scope_allow":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":"400e12a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.608482,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7952c5f620a755a839a407e7f145de83"} experiment-1 | {"level":"info","message":"POST /experiments? 201 128ms","method":"POST","requestID":"7952c5f620a755a839a407e7f145de83","responseTime":128,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"400e60c0-18eb-11ef-97dd-97826c0d9de9"},"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/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/signaling 200 12ms","method":"POST","requestID":"400e12a0-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/signaling 200 12ms","method":"POST","requestID":"400e60c0-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"97c7fca5040fdc7809b9ee2e26a84f48","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f404e9d-0acc-4231-ba63-a330671cd879","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.3016348} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.866225,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} 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":"97c7fca5040fdc7809b9ee2e26a84f48"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.185877,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","object_type":"device","rebac_allow":false,"scope_allow":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":"40103580-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:12.082716899Z"}]},"request_id":"c3d570a0-999a-49c0-8321-48fd7f3196ee","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.3063269} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/signaling 200 11ms","method":"POST","requestID":"40103580-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/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":"97c7fca5040fdc7809b9ee2e26a84f48"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"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":"16924050-5e31-4052-8c45-87c1f5004328"},{"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":"097027d6-d547-42ca-a90e-2191e5c7e1b9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"44227c4e-7db2-4826-9b98-8c3433657477"}]},"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/79bbf3bc-b94d-46ba-b1d3-2718574f7aab"},{"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/1c5f8965-1af1-4db3-9148-a46cb0b90cb1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97c7fca5040fdc7809b9ee2e26a84f48"} device-1 | {"level":"info","message":"GET /devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab? 200 12ms","method":"GET","requestID":"97c7fca5040fdc7809b9ee2e26a84f48","responseTime":12,"status":200,"url":"/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.685326,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"100aa8334a55671ecb4b1cd1bdd7f916","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} 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":"40125860-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804933,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"100aa8334a55671ecb4b1cd1bdd7f916"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"7098e7e2-41aa-49d6-85e5-87c7ca92c1dc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.3225493} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a71e514-d2e0-49d7-b875-29b0d2cf3f3b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.3227322} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40125860-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:12.136643051Z"}]},"request_id":"9a4c7438-760b-471f-8a4d-8d90e0552d16","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.32356} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"100aa8334a55671ecb4b1cd1bdd7f916"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"100aa8334a55671ecb4b1cd1bdd7f916"} device-1 | {"level":"info","message":"GET /devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1? 200 19ms","method":"GET","requestID":"100aa8334a55671ecb4b1cd1bdd7f916","responseTime":19,"status":200,"url":"/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1?"} 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/c5734d90-78e8-474c-a64f-bc6dda06b224'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"40125860-18eb-11ef-97dd-97826c0d9de9","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06087662-61bc-402f-a0e4-67f2d7b59231","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.3666377} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.19651,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","object_type":"device","rebac_allow":false,"scope_allow":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":"401a47a0-18eb-11ef-97dd-97826c0d9de9"},"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/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/signaling 200 9ms","method":"POST","requestID":"401a47a0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e3cd5c7-01f1-49fb-a75e-961ff739e5cb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.3779154} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.748748,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","object_type":"device","rebac_allow":false,"scope_allow":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":"401bf550-18eb-11ef-97dd-97826c0d9de9"},"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/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/signaling 200 11ms","method":"POST","requestID":"401bf550-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c5734d90-78e8-474c-a64f-bc6dda06b224","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":"20e1cf4a25c26ab9be6c648ef6052b34","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/79bbf3bc-b94d-46ba-b1d3-2718574f7aab"},{"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/1c5f8965-1af1-4db3-9148-a46cb0b90cb1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"20e1cf4a25c26ab9be6c648ef6052b34","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"20e1cf4a25c26ab9be6c648ef6052b34"} device-1 | {"data":{"peerconnection":"c5734d90-78e8-474c-a64f-bc6dda06b224","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c5734d90-78e8-474c-a64f-bc6dda06b224","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/c5734d90-78e8-474c-a64f-bc6dda06b224' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c5734d90-78e8-474c-a64f-bc6dda06b224","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":"625001cea1a219349a97bc3efdbf0fc4","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/79bbf3bc-b94d-46ba-b1d3-2718574f7aab"},{"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/1c5f8965-1af1-4db3-9148-a46cb0b90cb1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc5734d90-78e8-474c-a64f-bc6dda06b224","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d26ebf1d-708e-454d-a1c9-2fd2d4396a17","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.4589832} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.149411,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224","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":"40287870-18eb-11ef-97dd-97826c0d9de9"},"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/c5734d90-78e8-474c-a64f-bc6dda06b224 200 7ms","method":"GET","requestID":"40287870-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":200,"url":"/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"625001cea1a219349a97bc3efdbf0fc4","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"625001cea1a219349a97bc3efdbf0fc4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d506c6c-cca0-412f-8fda-c62939a53bb6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.4883106} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.208899,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"402ce540-18eb-11ef-97dd-97826c0d9de9"},"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/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/signaling 200 8ms","method":"POST","requestID":"402ce540-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66a4f107-868a-4550-925e-846ef8d8244e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.5002615} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.332786,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","object_type":"device","rebac_allow":false,"scope_allow":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":"402e6be0-18eb-11ef-97dd-97826c0d9de9"},"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/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/signaling 200 11ms","method":"POST","requestID":"402e6be0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"001af44b3490ca9b5446b77bae96f25b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.683562,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} 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":"001af44b3490ca9b5446b77bae96f25b"},"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/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"001af44b3490ca9b5446b77bae96f25b"} experiment-1 | {"level":"info","message":"GET /experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143 200 11ms","method":"GET","requestID":"001af44b3490ca9b5446b77bae96f25b","responseTime":11,"status":200,"url":"/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3773df2e86c39796964140f3db797aa4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.832835,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} 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":"3773df2e86c39796964140f3db797aa4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.97339,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} 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":"403a2bb0-18eb-11ef-97dd-97826c0d9de9"},"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/c5734d90-78e8-474c-a64f-bc6dda06b224' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c5734d90-78e8-474c-a64f-bc6dda06b224","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc5734d90-78e8-474c-a64f-bc6dda06b224': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc5734d90-78e8-474c-a64f-bc6dda06b224","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"b327bbc7-4afa-4f46-803a-aaf5aaa39d5d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.587419} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"336d3cc2-2529-4754-b7a4-98ec3874a799","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.5878665} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1de6d65df450b68235eb7034cdecee17","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":"403a2bb0-18eb-11ef-97dd-97826c0d9de9"},"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-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/79bbf3bc-b94d-46ba-b1d3-2718574f7aab"},{"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/1c5f8965-1af1-4db3-9148-a46cb0b90cb1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"91ef8750bac5ee6aaf33636816362a40","responseTime":1,"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":"closed","url":"http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab"},{"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/1c5f8965-1af1-4db3-9148-a46cb0b90cb1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224 204 22ms","method":"DELETE","requestID":"403a2bb0-18eb-11ef-97dd-97826c0d9de9","responseTime":22,"status":204,"url":"/peerconnections/c5734d90-78e8-474c-a64f-bc6dda06b224"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79bbf3bc-b94d-46ba-b1d3-2718574f7aab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b30b7ffb-851d-4fa2-baf6-c15ef69b7664","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.6153052} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.584522,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40404630-18eb-11ef-97dd-97826c0d9de9"},"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/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/signaling 200 8ms","method":"POST","requestID":"40404630-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/79bbf3bc-b94d-46ba-b1d3-2718574f7aab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdb4bfd8d-fcf2-40fa-9dd7-a5920e571143': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdb4bfd8d-fcf2-40fa-9dd7-a5920e571143","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"2c871bd3-3f37-4945-bdf8-a2b19eaed838","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.6220503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a8e9619-d784-4539-8170-5964ad1707c4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.6223512} 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":"3773df2e86c39796964140f3db797aa4"},"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:60464","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c5f8965-1af1-4db3-9148-a46cb0b90cb1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6adc329c-0732-4d11-b242-691cdeef5d55","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.6262388} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.282443,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4041ccd0-18eb-11ef-97dd-97826c0d9de9"},"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/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/signaling 200 9ms","method":"POST","requestID":"4041ccd0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3773df2e86c39796964140f3db797aa4"} experiment-1 | {"level":"info","message":"DELETE /experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143 204 121ms","method":"DELETE","requestID":"3773df2e86c39796964140f3db797aa4","responseTime":121,"status":204,"url":"/experiments/db4bfd8d-fcf2-40fa-9dd7-a5920e571143"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 96ms","method":"POST","requestID":"1de6d65df450b68235eb7034cdecee17","responseTime":96,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch","requestID":"1de6d65df450b68235eb7034cdecee17"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 97ms","method":"POST","requestID":"91ef8750bac5ee6aaf33636816362a40","responseTime":97,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"da5d387759003f2b266806f8fcda6b2e","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.102","http_referrer":"","http_user_agent":"node-fetch","requestID":"91ef8750bac5ee6aaf33636816362a40"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2886","request_time":"0.578","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e8589886473a850e7f86f7c254537d90"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2884","request_time":"0.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":"b06f81c28cdb0e67338f3cb47a104bd3"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.920572,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} 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":"da5d387759003f2b266806f8fcda6b2e"},"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/79bbf3bc-b94d-46ba-b1d3-2718574f7aab' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1c5f8965-1af1-4db3-9148-a46cb0b90cb1' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7a2c8a79-be8c-4d45-8bd2-737d6af6615e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.714091} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da5d387759003f2b266806f8fcda6b2e"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7630b7a-be2b-41ab-b876-ee89bbef3899","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.7191374} 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":"da5d387759003f2b266806f8fcda6b2e"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28594e23-6031-4dc0-864e-11f7f0bfd3a0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.727903} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"b34063c1-41c6-40c5-8295-9c4ed04693c5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.7284129} 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":"da5d387759003f2b266806f8fcda6b2e"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:14.728386535Z"}]},"request_id":"787374a5-91a8-4d0b-92e7-70807ff23a14","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.7329488} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da5d387759003f2b266806f8fcda6b2e"},"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":"da5d387759003f2b266806f8fcda6b2e","responseTime":40,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"da5d387759003f2b266806f8fcda6b2e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f3dd58b37a107a64da6acee3081b6fdd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.667464,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458414,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNH0.-YpcLq2WEQIXbtWWRLLRStN5S2vT0nhYuaoFIG90g_w"} 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":"f3dd58b37a107a64da6acee3081b6fdd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e10448d1-28a4-4cff-9fdc-8ca9c2fa76d6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.7593436} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3dd58b37a107a64da6acee3081b6fdd"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0c020f6-3f90-43fd-81d1-f84d9e83b33c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.764198} 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":"f3dd58b37a107a64da6acee3081b6fdd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"90c6f9e2-6410-4aea-ba44-49afe964655d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.7758176} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7709ff05-d2b5-40f5-8c51-f75f7c42f156","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.7760458} 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":"f3dd58b37a107a64da6acee3081b6fdd"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:14.775798198Z"}]},"request_id":"5a809540-7d6f-48dd-aaf8-76f24b21e4b8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458414.780708} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3dd58b37a107a64da6acee3081b6fdd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3dd58b37a107a64da6acee3081b6fdd"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"f3dd58b37a107a64da6acee3081b6fdd","responseTime":44,"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":"6d874c9a9c006b1f9a5c6912bbe50438","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a/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":"6d874c9a9c006b1f9a5c6912bbe50438"} device-1 | {"level":"info","message":"OPTIONS /devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a/websocket 200 1ms","method":"OPTIONS","requestID":"6d874c9a9c006b1f9a5c6912bbe50438","responseTime":1,"status":200,"url":"/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c82cd957a62e89358df0b09d7058c021","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714458,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c82cd957a62e89358df0b09d7058c021"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"56e8fd8fc6bf69ce25e66cf7a2311da7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/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":"56e8fd8fc6bf69ce25e66cf7a2311da7"} device-1 | {"level":"info","message":"OPTIONS /devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/websocket 200 1ms","method":"OPTIONS","requestID":"56e8fd8fc6bf69ce25e66cf7a2311da7","responseTime":1,"status":200,"url":"/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f9c785914ba53a59574d3e7f3bec7aeb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663124,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9c785914ba53a59574d3e7f3bec7aeb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a/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":"c82cd957a62e89358df0b09d7058c021"} device-1 | {"level":"info","message":"POST /devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a/websocket 200 36ms","method":"POST","requestID":"c82cd957a62e89358df0b09d7058c021","responseTime":36,"status":200,"url":"/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/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":"f9c785914ba53a59574d3e7f3bec7aeb"} device-1 | {"level":"info","message":"POST /devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/websocket 200 30ms","method":"POST","requestID":"f9c785914ba53a59574d3e7f3bec7aeb","responseTime":30,"status":200,"url":"/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"13218256b73a64003920eb45b3b65197","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.829153,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13218256b73a64003920eb45b3b65197"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:14.728386535Z"}]},"request_id":"4ee08e74-917c-4a20-a301-8eb3ebb67bab","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.7824962} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13218256b73a64003920eb45b3b65197"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b4308dc6-1499-4d9b-8a75-155abd4994f9? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13218256b73a64003920eb45b3b65197"} device-1 | {"level":"info","message":"GET /devices/b4308dc6-1499-4d9b-8a75-155abd4994f9? 200 12ms","method":"GET","requestID":"13218256b73a64003920eb45b3b65197","responseTime":12,"status":200,"url":"/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7afc78e7509d3322fc46a1f87b318398","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70832,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7afc78e7509d3322fc46a1f87b318398"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:14.775798198Z"}]},"request_id":"1d32c5be-5b0c-4d5e-b80e-2752caa9d774","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.7989168} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7afc78e7509d3322fc46a1f87b318398"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7afc78e7509d3322fc46a1f87b318398"} device-1 | {"level":"info","message":"GET /devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a? 200 12ms","method":"GET","requestID":"7afc78e7509d3322fc46a1f87b318398","responseTime":12,"status":200,"url":"/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"78ff12802d37c26f384dfc97151eabc8","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:60464","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.842148,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} 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":"78ff12802d37c26f384dfc97151eabc8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"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:60464","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919829,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41974ab0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900021,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"419771c0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:14.728386535Z"}]},"request_id":"ca1429bd-88f8-4c97-b4e7-87baa7dbf3e4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.8687806} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41974ab0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:14.775798198Z"}]},"request_id":"f8e71b39-52ea-49d8-a851-f8757cea32d2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.8695362} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"419771c0-18eb-11ef-97dd-97826c0d9de9"},"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/b4308dc6-1499-4d9b-8a75-155abd4994f9? 200 14ms","method":"GET","requestID":"41974ab0-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a? 200 14ms","method":"GET","requestID":"419771c0-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"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/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651303,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"419f39f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816692,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} 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":"419f8810-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0aaa93aa-e013-45f2-8378-3c86d4a83a4e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.921332} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.86354,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","object_type":"device","rebac_allow":false,"scope_allow":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":"419fd630-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:14.728386535Z"}]},"request_id":"36935f52-856c-425a-b309-ab9c496b3b00","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.923167} 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":"419f39f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"POST /devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/signaling 200 11ms","method":"POST","requestID":"419fd630-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:14.775798198Z"}]},"request_id":"aaa3e31c-6971-4b4c-81c0-988d9c801a84","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.9260037} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"419f8810-18eb-11ef-97dd-97826c0d9de9"},"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/b4308dc6-1499-4d9b-8a75-155abd4994f9? 200 21ms","method":"GET","requestID":"419f39f0-18eb-11ef-97dd-97826c0d9de9","responseTime":21,"status":200,"url":"/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc974d26c-12f0-483f-82b7-684d479bac2e#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc974d26c-12f0-483f-82b7-684d479bac2e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"c17e491b-a5ae-429d-8ca4-00f424e0c1a8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.932176} 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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"315a166e-c3d9-469c-954e-532a25b03e4a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.9324055} device-1 | {"level":"info","message":"GET /devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a? 200 20ms","method":"GET","requestID":"419f8810-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} 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":"78ff12802d37c26f384dfc97151eabc8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8c2dddb-8eaf-452c-aa9a-1fc97d44d449","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.935782} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.812999,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","object_type":"device","rebac_allow":false,"scope_allow":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":"41a1f910-18eb-11ef-97dd-97826c0d9de9"},"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/8535ab51-87b5-49a5-84dc-9fc15a3d960a/signaling 200 12ms","method":"POST","requestID":"41a1f910-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:00:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78ff12802d37c26f384dfc97151eabc8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 136ms","method":"POST","requestID":"78ff12802d37c26f384dfc97151eabc8","responseTime":136,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03f7d167-a201-4d51-8ec0-d9409e7547ca","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.9447377} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.507974,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41a30a80-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a7c2c07e107e18999fbe31cbac1e74f4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/signaling 200 13ms","method":"POST","requestID":"41a30a80-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756909,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7c2c07e107e18999fbe31cbac1e74f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"51b8d56a-91ab-498d-b679-da84c420f9bb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.9557803} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.342655,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","object_type":"device","rebac_allow":false,"scope_allow":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":"41a55470-18eb-11ef-97dd-97826c0d9de9"},"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/8535ab51-87b5-49a5-84dc-9fc15a3d960a/signaling 200 8ms","method":"POST","requestID":"41a55470-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:14.728386535Z"}]},"request_id":"d2424400-6a6a-4d5d-8682-863bad187a21","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.9601562} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"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":"f0c7febb-3d5f-420c-b5c8-3b466a75f67c"},{"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":"f02231b5-f529-4a25-af94-a825e0a9fd33"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dee6dd0b-0898-4160-ad15-64964f8cf719"}]},"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/8535ab51-87b5-49a5-84dc-9fc15a3d960a"},{"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/b4308dc6-1499-4d9b-8a75-155abd4994f9"}],"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":"a7c2c07e107e18999fbe31cbac1e74f4"},"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:60464","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} gateway-1 | {"time_local":"23/May/2024:10:00:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b4308dc6-1499-4d9b-8a75-155abd4994f9? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a7c2c07e107e18999fbe31cbac1e74f4"} device-1 | {"level":"info","message":"GET /devices/b4308dc6-1499-4d9b-8a75-155abd4994f9? 200 16ms","method":"GET","requestID":"a7c2c07e107e18999fbe31cbac1e74f4","responseTime":16,"status":200,"url":"/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.738122,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} 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":"41a70220-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7f0f04ea5da0d2cf913fffec134cfb1f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695451,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458416,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxNn0.TSlmEW4rkApbk4mfi4NyyQMoEyVUr4xTTSxVWjki3nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f0f04ea5da0d2cf913fffec134cfb1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"e77f5c01-cc30-4587-9db1-02dfb8d14b8c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.9751484} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f4936c7-70a2-45d5-ae9d-4b0f615cafb2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.975529} 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":"41a70220-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:14.775798198Z"}]},"request_id":"42648e74-34a9-4b2e-88bd-ebb248a2ec6c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458416.9795372} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f0f04ea5da0d2cf913fffec134cfb1f"},"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/589d7dbb-3030-4530-82d5-a9652be6ddec'"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f0f04ea5da0d2cf913fffec134cfb1f"} device-1 | {"level":"info","message":"GET /devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a? 200 33ms","method":"GET","requestID":"7f0f04ea5da0d2cf913fffec134cfb1f","responseTime":33,"status":200,"url":"/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a?"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"41a70220-18eb-11ef-97dd-97826c0d9de9","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b51e114-b4d4-4c36-ac71-264d3f944b94","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.0441887} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.531245,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41b2c1f0-18eb-11ef-97dd-97826c0d9de9"},"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/b4308dc6-1499-4d9b-8a75-155abd4994f9/signaling 200 11ms","method":"POST","requestID":"41b2c1f0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37c412ea-df59-42e4-8aec-3241114f087c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.0596392} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.327601,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41b50be0-18eb-11ef-97dd-97826c0d9de9"},"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/8535ab51-87b5-49a5-84dc-9fc15a3d960a/signaling 200 11ms","method":"POST","requestID":"41b50be0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"589d7dbb-3030-4530-82d5-a9652be6ddec","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":"ecdc520f73bead9f78c74943d76ad2b6","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a"},{"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/b4308dc6-1499-4d9b-8a75-155abd4994f9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"ecdc520f73bead9f78c74943d76ad2b6","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"ecdc520f73bead9f78c74943d76ad2b6"} device-1 | {"data":{"peerconnection":"589d7dbb-3030-4530-82d5-a9652be6ddec","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"589d7dbb-3030-4530-82d5-a9652be6ddec","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/589d7dbb-3030-4530-82d5-a9652be6ddec' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"589d7dbb-3030-4530-82d5-a9652be6ddec","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":"8d5a0b0e82a0b59c10d9754058940ba7","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/8535ab51-87b5-49a5-84dc-9fc15a3d960a"},{"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/b4308dc6-1499-4d9b-8a75-155abd4994f9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F589d7dbb-3030-4530-82d5-a9652be6ddec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b5f11af-9b3a-4400-95c8-a3be95ffec58","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.1398616} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.313432,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec","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":"41c167f0-18eb-11ef-97dd-97826c0d9de9"},"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/589d7dbb-3030-4530-82d5-a9652be6ddec 200 8ms","method":"GET","requestID":"41c167f0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"8d5a0b0e82a0b59c10d9754058940ba7","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"8d5a0b0e82a0b59c10d9754058940ba7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6c6a0f2-8dfc-4720-8426-489d9f997044","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.1627762} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.274015,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","object_type":"device","rebac_allow":false,"scope_allow":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":"41c4ea60-18eb-11ef-97dd-97826c0d9de9"},"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/8535ab51-87b5-49a5-84dc-9fc15a3d960a/signaling 200 9ms","method":"POST","requestID":"41c4ea60-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d62627ec-7a69-465a-9fe7-32d0866f25bf","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.1730797} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.391249,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","object_type":"device","rebac_allow":false,"scope_allow":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":"41c69810-18eb-11ef-97dd-97826c0d9de9"},"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/b4308dc6-1499-4d9b-8a75-155abd4994f9/signaling 200 8ms","method":"POST","requestID":"41c69810-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ad269b1da5829c13eaedf7ee833540c3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c974d26c-12f0-483f-82b7-684d479bac2e"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.722122,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458417,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ"} 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":"ad269b1da5829c13eaedf7ee833540c3"},"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/c974d26c-12f0-483f-82b7-684d479bac2e"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c974d26c-12f0-483f-82b7-684d479bac2e HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad269b1da5829c13eaedf7ee833540c3"} experiment-1 | {"level":"info","message":"GET /experiments/c974d26c-12f0-483f-82b7-684d479bac2e 200 9ms","method":"GET","requestID":"ad269b1da5829c13eaedf7ee833540c3","responseTime":9,"status":200,"url":"/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d61ad3852b64c8b36f3751c83e81ad8e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c974d26c-12f0-483f-82b7-684d479bac2e"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.688134,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458417,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ"} 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":"d61ad3852b64c8b36f3751c83e81ad8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.660627,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458417,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ"} 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":"41cf2390-18eb-11ef-97dd-97826c0d9de9"},"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/589d7dbb-3030-4530-82d5-a9652be6ddec' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"589d7dbb-3030-4530-82d5-a9652be6ddec","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F589d7dbb-3030-4530-82d5-a9652be6ddec': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F589d7dbb-3030-4530-82d5-a9652be6ddec","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"220206a6-9c72-4a49-9382-2219421f88a6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.2404838} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c6d0238-acf4-4ead-9d11-fbe791493c03","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.2408597} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8ced328343719c3f5cd237a10d43aa70","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":"41cf2390-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a"},{"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/b4308dc6-1499-4d9b-8a75-155abd4994f9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"c8615e004e70f02b05a9614126f00a72","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a"},{"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/b4308dc6-1499-4d9b-8a75-155abd4994f9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec 204 35ms","method":"DELETE","requestID":"41cf2390-18eb-11ef-97dd-97826c0d9de9","responseTime":35,"status":204,"url":"/peerconnections/589d7dbb-3030-4530-82d5-a9652be6ddec"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8535ab51-87b5-49a5-84dc-9fc15a3d960a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c08e42d0-b73b-4ebd-8c2e-4397922cabc9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.279127} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.318064,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a","object_type":"device","rebac_allow":false,"scope_allow":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":"41d6c4b0-18eb-11ef-97dd-97826c0d9de9"},"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/8535ab51-87b5-49a5-84dc-9fc15a3d960a/signaling 200 8ms","method":"POST","requestID":"41d6c4b0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4308dc6-1499-4d9b-8a75-155abd4994f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88184bcc-a1e0-48f1-858d-17cd2069fd7f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.2891328} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc974d26c-12f0-483f-82b7-684d479bac2e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc974d26c-12f0-483f-82b7-684d479bac2e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"f0c46808-7316-4b16-b88b-8136fe444fac","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.289282} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af955326-cad8-4bff-864d-6f6ff889177a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.289778} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.411255,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41d84b50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} 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":"d61ad3852b64c8b36f3751c83e81ad8e"},"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/b4308dc6-1499-4d9b-8a75-155abd4994f9/signaling 200 9ms","method":"POST","requestID":"41d84b50-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/b4308dc6-1499-4d9b-8a75-155abd4994f9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c974d26c-12f0-483f-82b7-684d479bac2e"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c974d26c-12f0-483f-82b7-684d479bac2e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d61ad3852b64c8b36f3751c83e81ad8e"} experiment-1 | {"level":"info","message":"DELETE /experiments/c974d26c-12f0-483f-82b7-684d479bac2e 204 122ms","method":"DELETE","requestID":"d61ad3852b64c8b36f3751c83e81ad8e","responseTime":122,"status":204,"url":"/experiments/c974d26c-12f0-483f-82b7-684d479bac2e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 98ms","method":"POST","requestID":"8ced328343719c3f5cd237a10d43aa70","responseTime":98,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch","requestID":"8ced328343719c3f5cd237a10d43aa70"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 97ms","method":"POST","requestID":"c8615e004e70f02b05a9614126f00a72","responseTime":97,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.102","http_referrer":"","http_user_agent":"node-fetch","requestID":"c8615e004e70f02b05a9614126f00a72"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"656757e2f0f35279430f04a9b128a843","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2886","request_time":"0.607","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ad1b57e1bf9ccf5ae6a26afcd8c08baa"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2888","request_time":"0.595","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"47e942909808c3f510de6518a1d60dff"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.86094,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458417,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ"} 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":"656757e2f0f35279430f04a9b128a843"},"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/b4308dc6-1499-4d9b-8a75-155abd4994f9' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8535ab51-87b5-49a5-84dc-9fc15a3d960a' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4effb6f6-b1c6-4071-bbc1-74ad3c3e053d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.3640165} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"656757e2f0f35279430f04a9b128a843"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c5e3fcc-ad19-4ba6-a9ff-bb9aba33eef6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.368342} 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":"656757e2f0f35279430f04a9b128a843"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"31ace457-8665-49be-b101-5bb9a62265cb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.3773124} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3a3080b-4ee7-46a2-a497-91ed55dea8e9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.3773913} 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":"656757e2f0f35279430f04a9b128a843"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.377285773Z"}]},"request_id":"464b14d4-1a4a-40d3-ac6f-0e5d49ad77c6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.381482} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"656757e2f0f35279430f04a9b128a843"},"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":"656757e2f0f35279430f04a9b128a843","responseTime":38,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"656757e2f0f35279430f04a9b128a843"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cd7547e2518266e0aeb520d60891c7cc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.704219,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458417,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ"} 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":"cd7547e2518266e0aeb520d60891c7cc"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a8e4d56d-a09a-4846-8dc7-7e32f10edfb1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.4024115} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd7547e2518266e0aeb520d60891c7cc"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c5a516e-e872-4179-97d0-6d904cc79781","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.4070628} 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":"cd7547e2518266e0aeb520d60891c7cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"7570c6f7-f130-4ce1-8e66-7da0f7a3c2f7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.4199457} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed489c63-4626-41c2-aaee-6e02be2bf0df","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.4201536} 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":"cd7547e2518266e0aeb520d60891c7cc"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.419915678Z"}]},"request_id":"f74c92af-3654-47ef-9193-00d15d0fc029","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.4351509} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd7547e2518266e0aeb520d60891c7cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd7547e2518266e0aeb520d60891c7cc"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"cd7547e2518266e0aeb520d60891c7cc","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e807cd54bb4ef54cc9b6dd30fb264a1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.366772,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458417,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e807cd54bb4ef54cc9b6dd30fb264a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.419915678Z"}]},"request_id":"dbdd616f-5997-4621-b78f-5a48e8e6457e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.943965} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e807cd54bb4ef54cc9b6dd30fb264a1"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a078b126-a4a0-426a-9faf-eeb9ccf6a799","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.9491322} 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":"2e807cd54bb4ef54cc9b6dd30fb264a1"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.419915678Z"}]},"request_id":"0427eb31-26de-4bf4-9e63-4495c436f62e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458417.966608} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e807cd54bb4ef54cc9b6dd30fb264a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f28a67b1-7783-436d-bd90-c8810466bf2d HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2e807cd54bb4ef54cc9b6dd30fb264a1"} device-1 | {"level":"info","message":"PATCH /devices/f28a67b1-7783-436d-bd90-c8810466bf2d 200 37ms","method":"PATCH","requestID":"2e807cd54bb4ef54cc9b6dd30fb264a1","responseTime":37,"status":200,"url":"/devices/f28a67b1-7783-436d-bd90-c8810466bf2d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f098238f5eaa7262c570d8fbc8420c18","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654462,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458417,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxN30.1TWDySW5zyaD8meakygZx_B1NdkbJzf6LNvsGultwkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f098238f5eaa7262c570d8fbc8420c18"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f28a67b1-7783-436d-bd90-c8810466bf2d/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":"f098238f5eaa7262c570d8fbc8420c18"} device-1 | {"level":"info","message":"POST /devices/f28a67b1-7783-436d-bd90-c8810466bf2d/websocket 200 15ms","method":"POST","requestID":"f098238f5eaa7262c570d8fbc8420c18","responseTime":15,"status":200,"url":"/devices/f28a67b1-7783-436d-bd90-c8810466bf2d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d' 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":"e668273284f1ae4660dd9f926bbf03a9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/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":"e668273284f1ae4660dd9f926bbf03a9"} device-1 | {"level":"info","message":"OPTIONS /devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/websocket 200 0ms","method":"OPTIONS","requestID":"e668273284f1ae4660dd9f926bbf03a9","responseTime":0,"status":200,"url":"/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"701f25f0f6857f0b6cbc56e8914c74fb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.716441,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458419,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"701f25f0f6857f0b6cbc56e8914c74fb"},"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/6ee469e4-5cc5-4177-b79b-b92e072ee909/websocket 200 27ms","method":"POST","requestID":"701f25f0f6857f0b6cbc56e8914c74fb","responseTime":27,"status":200,"url":"/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/websocket"} gateway-1 | {"time_local":"23/May/2024:10:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/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":"701f25f0f6857f0b6cbc56e8914c74fb"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d201f698dc844c2cf37e886f074cf62e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698401,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458419,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d201f698dc844c2cf37e886f074cf62e"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.377285773Z"}]},"request_id":"16cfb99a-0aa4-4096-af28-cebac0a927d6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.4065464} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d201f698dc844c2cf37e886f074cf62e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6ee469e4-5cc5-4177-b79b-b92e072ee909? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d201f698dc844c2cf37e886f074cf62e"} device-1 | {"level":"info","message":"GET /devices/6ee469e4-5cc5-4177-b79b-b92e072ee909? 200 12ms","method":"GET","requestID":"d201f698dc844c2cf37e886f074cf62e","responseTime":12,"status":200,"url":"/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"63b9540d30b7d5f4c4c60f8d1e30e38b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714479,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458419,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63b9540d30b7d5f4c4c60f8d1e30e38b"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.419915678Z"}]},"request_id":"bf53e191-134e-4504-9008-d1b46191efaf","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.4248714} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63b9540d30b7d5f4c4c60f8d1e30e38b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f28a67b1-7783-436d-bd90-c8810466bf2d? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"63b9540d30b7d5f4c4c60f8d1e30e38b"} device-1 | {"level":"info","message":"GET /devices/f28a67b1-7783-436d-bd90-c8810466bf2d? 200 11ms","method":"GET","requestID":"63b9540d30b7d5f4c4c60f8d1e30e38b","responseTime":11,"status":200,"url":"/devices/f28a67b1-7783-436d-bd90-c8810466bf2d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4f5d3f98d9804948ee09587ce7a29f1b","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:60464","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.853041,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458419,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI"} 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":"4f5d3f98d9804948ee09587ce7a29f1b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"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:60464","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.811136,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458419,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4326eb60-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.784934,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458419,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43273980-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.377285773Z"}]},"request_id":"0b06b2c5-7685-48af-b39c-2a4f1a4c9b73","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.4878662} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4326eb60-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.419915678Z"}]},"request_id":"1ae153cf-5173-49db-a3fb-b3b1d0f001ba","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.4894774} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43273980-18eb-11ef-97dd-97826c0d9de9"},"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/6ee469e4-5cc5-4177-b79b-b92e072ee909? 200 17ms","method":"GET","requestID":"4326eb60-18eb-11ef-97dd-97826c0d9de9","responseTime":17,"status":200,"url":"/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f28a67b1-7783-436d-bd90-c8810466bf2d? 200 16ms","method":"GET","requestID":"43273980-18eb-11ef-97dd-97826c0d9de9","responseTime":16,"status":200,"url":"/devices/f28a67b1-7783-436d-bd90-c8810466bf2d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"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/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.819069,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458419,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"432fc500-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741167,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458419,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI"} 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":"43301320-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.377285773Z"}]},"request_id":"19fe654b-828f-42d2-ab6c-64fb568252b2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.5483377} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c1363f0-c648-4462-a0d6-52ac5f1ea69b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.5483983} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"432fc500-18eb-11ef-97dd-97826c0d9de9"},"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:60464","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.527518,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","object_type":"device","rebac_allow":false,"scope_allow":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":"43306140-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.419915678Z"}]},"request_id":"8b146dc7-0b26-4cc2-886e-5ebcc0eb0563","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.5497577} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43301320-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b96f82a-b1f8-480e-8841-1853057251ec#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b96f82a-b1f8-480e-8841-1853057251ec","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"35c4206c-3aeb-47b1-9257-6772c42ffa83","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.5547714} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf44aead-cdf6-4e82-a209-876aca84d742","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.5557132} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f5d3f98d9804948ee09587ce7a29f1b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6ee469e4-5cc5-4177-b79b-b92e072ee909? 200 22ms","method":"GET","requestID":"432fc500-18eb-11ef-97dd-97826c0d9de9","responseTime":23,"status":200,"url":"/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/signaling 200 19ms","method":"POST","requestID":"43306140-18eb-11ef-97dd-97826c0d9de9","responseTime":19,"status":200,"url":"/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f28a67b1-7783-436d-bd90-c8810466bf2d? 200 23ms","method":"GET","requestID":"43301320-18eb-11ef-97dd-97826c0d9de9","responseTime":23,"status":200,"url":"/devices/f28a67b1-7783-436d-bd90-c8810466bf2d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f5d3f98d9804948ee09587ce7a29f1b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 134ms","method":"POST","requestID":"4f5d3f98d9804948ee09587ce7a29f1b","responseTime":134,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81195156-d37f-4202-b5ba-0a4735ecc1f3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.568853} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.194349,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","object_type":"device","rebac_allow":false,"scope_allow":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":"4333bca0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI","level":"info","message":"auth send jwt"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"326be468-0c7f-41bf-b4d3-67e3de949015","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.5735044} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"622c723cbd2726730a5d900bf678f488","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.298305,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"433458e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f28a67b1-7783-436d-bd90-c8810466bf2d/signaling 200 15ms","method":"POST","requestID":"4333bca0-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/f28a67b1-7783-436d-bd90-c8810466bf2d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719797,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458419,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI"} device-1 | {"level":"info","message":"POST /devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/signaling 200 13ms","method":"POST","requestID":"433458e0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"622c723cbd2726730a5d900bf678f488"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.377285773Z"}]},"request_id":"5687c1ba-e3cf-4961-bee5-0902286e72ce","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.5834086} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"622c723cbd2726730a5d900bf678f488"},"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:60464","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0346cde3-1dc7-4453-a09a-56fe4cc015db","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.5867255} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.826841,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4336c9e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6ee469e4-5cc5-4177-b79b-b92e072ee909? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"622c723cbd2726730a5d900bf678f488"} device-1 | {"level":"info","message":"GET /devices/6ee469e4-5cc5-4177-b79b-b92e072ee909? 200 15ms","method":"GET","requestID":"622c723cbd2726730a5d900bf678f488","responseTime":15,"status":200,"url":"/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f28a67b1-7783-436d-bd90-c8810466bf2d/signaling 200 10ms","method":"POST","requestID":"4336c9e0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/f28a67b1-7783-436d-bd90-c8810466bf2d/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"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":"fb5690f8-9e8c-43b4-8361-598fe454ebd8"},{"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":"bf28b64b-ac3d-4a94-ae1a-4941ac88b430"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0c79e8aa-34a9-4dcf-a96f-2600c6ab3e3d"}]},"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/f28a67b1-7783-436d-bd90-c8810466bf2d"},{"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/6ee469e4-5cc5-4177-b79b-b92e072ee909"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"960df9d33cc8023309ef9153d821cb17","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.954815,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458419,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI"} 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":"4338ecc0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35716","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676122,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458419,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQxOX0.TUdUFBs0PN5RQoAwBWzDjxLY2J9U_nQIPwYdXCdFwOI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"960df9d33cc8023309ef9153d821cb17"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:17.419915678Z"}]},"request_id":"d004c6bd-11fe-481d-8501-b45c033fa573","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.6069076} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"960df9d33cc8023309ef9153d821cb17"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f28a67b1-7783-436d-bd90-c8810466bf2d? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"960df9d33cc8023309ef9153d821cb17"} device-1 | {"level":"info","message":"GET /devices/f28a67b1-7783-436d-bd90-c8810466bf2d? 200 13ms","method":"GET","requestID":"960df9d33cc8023309ef9153d821cb17","responseTime":13,"status":200,"url":"/devices/f28a67b1-7783-436d-bd90-c8810466bf2d?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"c412e154-ae8d-45e0-a753-ce9943b150cf","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.611069} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32d84661-706a-4ded-b4e0-ff926d0db3cb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.6116285} 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":"4338ecc0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"4338ecc0-18eb-11ef-97dd-97826c0d9de9","responseTime":47,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa09ec04-8c06-4b82-8145-30af32ba79cd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.6757371} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.295118,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","object_type":"device","rebac_allow":false,"scope_allow":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":"43445e70-18eb-11ef-97dd-97826c0d9de9"},"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/6ee469e4-5cc5-4177-b79b-b92e072ee909/signaling 200 10ms","method":"POST","requestID":"43445e70-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"018c4cca-0686-4cc2-9b2d-d4ba692edb07","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458419.6894367} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.231206,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","object_type":"device","rebac_allow":false,"scope_allow":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":"43465a40-18eb-11ef-97dd-97826c0d9de9"},"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/f28a67b1-7783-436d-bd90-c8810466bf2d/signaling 200 13ms","method":"POST","requestID":"43465a40-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/f28a67b1-7783-436d-bd90-c8810466bf2d/signaling"} device-1 | {"data":{"peerconnection":"94a91020-ec62-4430-94d8-e2fd6927783e","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/94a91020-ec62-4430-94d8-e2fd6927783e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"94a91020-ec62-4430-94d8-e2fd6927783e","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":"3e3f0ab1dd85d96d05ad98fc3cd48991","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d"},{"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/6ee469e4-5cc5-4177-b79b-b92e072ee909"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"3e3f0ab1dd85d96d05ad98fc3cd48991","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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":"3e3f0ab1dd85d96d05ad98fc3cd48991"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909'"} device-1 | {"data":{"peerconnection":"94a91020-ec62-4430-94d8-e2fd6927783e","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/6ee469e4-5cc5-4177-b79b-b92e072ee909'"} device-1 | {"data":{"peerconnection":"94a91020-ec62-4430-94d8-e2fd6927783e","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/94a91020-ec62-4430-94d8-e2fd6927783e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"94a91020-ec62-4430-94d8-e2fd6927783e","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":"6c997da9b0162f3398f3e924acf50d15","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/f28a67b1-7783-436d-bd90-c8810466bf2d"},{"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/6ee469e4-5cc5-4177-b79b-b92e072ee909"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94a91020-ec62-4430-94d8-e2fd6927783e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8dc26646-6d7a-4952-8b7e-f6a0970f6bca","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458421.7989297} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.126991,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e","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":"44887730-18eb-11ef-97dd-97826c0d9de9"},"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/94a91020-ec62-4430-94d8-e2fd6927783e 200 8ms","method":"GET","requestID":"44887730-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"6c997da9b0162f3398f3e924acf50d15","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"6c997da9b0162f3398f3e924acf50d15"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f01b86d2-c963-4886-b5e4-4bab73dc4aab","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458421.8225574} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.765573,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"448bf9a0-18eb-11ef-97dd-97826c0d9de9"},"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/f28a67b1-7783-436d-bd90-c8810466bf2d/signaling 200 9ms","method":"POST","requestID":"448bf9a0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/f28a67b1-7783-436d-bd90-c8810466bf2d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38bddfc0-5da0-4e45-91b4-7e7b9e86edfd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458421.8330946} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.525896,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","object_type":"device","rebac_allow":false,"scope_allow":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":"448d8040-18eb-11ef-97dd-97826c0d9de9"},"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/6ee469e4-5cc5-4177-b79b-b92e072ee909/signaling 200 9ms","method":"POST","requestID":"448d8040-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMX0.nj7nyNlT78-tVTtmhhJH8Z4f-P9Kg8fJaZjqSs0DyyI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6c454ac403c2e2e53fa84fe6f00202ba","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8b96f82a-b1f8-480e-8841-1853057251ec"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.843327,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458421,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMX0.nj7nyNlT78-tVTtmhhJH8Z4f-P9Kg8fJaZjqSs0DyyI"} 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":"6c454ac403c2e2e53fa84fe6f00202ba"},"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/8b96f82a-b1f8-480e-8841-1853057251ec"} gateway-1 | {"time_local":"23/May/2024:10:00:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8b96f82a-b1f8-480e-8841-1853057251ec HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c454ac403c2e2e53fa84fe6f00202ba"} experiment-1 | {"level":"info","message":"GET /experiments/8b96f82a-b1f8-480e-8841-1853057251ec 200 10ms","method":"GET","requestID":"6c454ac403c2e2e53fa84fe6f00202ba","responseTime":10,"status":200,"url":"/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMX0.nj7nyNlT78-tVTtmhhJH8Z4f-P9Kg8fJaZjqSs0DyyI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"881fc1e1da3fb16cb81ab66349b46b58","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8b96f82a-b1f8-480e-8841-1853057251ec"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.725934,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458421,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMX0.nj7nyNlT78-tVTtmhhJH8Z4f-P9Kg8fJaZjqSs0DyyI"} 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":"881fc1e1da3fb16cb81ab66349b46b58"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.834971,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458421,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMX0.nj7nyNlT78-tVTtmhhJH8Z4f-P9Kg8fJaZjqSs0DyyI"} 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":"44980790-18eb-11ef-97dd-97826c0d9de9"},"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/94a91020-ec62-4430-94d8-e2fd6927783e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"94a91020-ec62-4430-94d8-e2fd6927783e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94a91020-ec62-4430-94d8-e2fd6927783e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94a91020-ec62-4430-94d8-e2fd6927783e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"60a23fda-b2a1-4d1d-b4d9-a62ac1abd41f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458421.9136162} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2896f626-9326-486c-a344-fff68308dfb1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458421.9138784} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ff41cc3870783a7655f5810f934a7bac","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d"},{"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/6ee469e4-5cc5-4177-b79b-b92e072ee909"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e"}}},"level":"info","message":"received a callback"} 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":"44980790-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0638e2543ab3bca85b672ed123d5c4a3","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d"},{"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/6ee469e4-5cc5-4177-b79b-b92e072ee909"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e 204 22ms","method":"DELETE","requestID":"44980790-18eb-11ef-97dd-97826c0d9de9","responseTime":22,"status":204,"url":"/peerconnections/94a91020-ec62-4430-94d8-e2fd6927783e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"},"level":"info","message":"Successfully finished experiment"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28a67b1-7783-436d-bd90-c8810466bf2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d5a6a55-1406-410e-88ef-80ea91aeb2ac","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458421.9433548} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.163345,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"449e7030-18eb-11ef-97dd-97826c0d9de9"},"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/f28a67b1-7783-436d-bd90-c8810466bf2d/signaling 200 9ms","method":"POST","requestID":"449e7030-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/f28a67b1-7783-436d-bd90-c8810466bf2d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b96f82a-b1f8-480e-8841-1853057251ec': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b96f82a-b1f8-480e-8841-1853057251ec","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"ee59cd63-bf6f-42a1-9850-62c82752cd37","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458421.951957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff2f65f0-c6f3-4f8f-9bf8-22bf53c94f15","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458421.952228} 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":"881fc1e1da3fb16cb81ab66349b46b58"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ee469e4-5cc5-4177-b79b-b92e072ee909","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1e91c5a-b263-49f0-9337-e9a8074830ff","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458421.9545407} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.054048,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"449ff6d0-18eb-11ef-97dd-97826c0d9de9"},"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/6ee469e4-5cc5-4177-b79b-b92e072ee909/signaling 200 10ms","method":"POST","requestID":"449ff6d0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8b96f82a-b1f8-480e-8841-1853057251ec"} gateway-1 | {"time_local":"23/May/2024:10:00:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8b96f82a-b1f8-480e-8841-1853057251ec HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"881fc1e1da3fb16cb81ab66349b46b58"} experiment-1 | {"level":"info","message":"DELETE /experiments/8b96f82a-b1f8-480e-8841-1853057251ec 204 114ms","method":"DELETE","requestID":"881fc1e1da3fb16cb81ab66349b46b58","responseTime":114,"status":204,"url":"/experiments/8b96f82a-b1f8-480e-8841-1853057251ec"} gateway-1 | {"time_local":"23/May/2024:10:00:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3228","request_time":"4.010","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6ecc603528e2a4202af63856d393f46d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 89ms","method":"POST","requestID":"ff41cc3870783a7655f5810f934a7bac","responseTime":89,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch","requestID":"ff41cc3870783a7655f5810f934a7bac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMn0.FKFZzmZdthsrKFIUOaMFp5I7HEONVoPH9bV4649X8f4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"de155f5ca27b203945650910f3045548","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:22 +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.630","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"202a52013bab3e651612dff65a3eb57b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 95ms","method":"POST","requestID":"0638e2543ab3bca85b672ed123d5c4a3","responseTime":95,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch","requestID":"0638e2543ab3bca85b672ed123d5c4a3"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:22Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.95607,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458422,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMn0.FKFZzmZdthsrKFIUOaMFp5I7HEONVoPH9bV4649X8f4"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de155f5ca27b203945650910f3045548"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6ee469e4-5cc5-4177-b79b-b92e072ee909' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f28a67b1-7783-436d-bd90-c8810466bf2d' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9ff039a5-1aee-4598-bb4b-013a7c2b53dd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.044009} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de155f5ca27b203945650910f3045548"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"603d7ea6-3c74-417f-888f-c090cc6c22eb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.0492837} 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":"de155f5ca27b203945650910f3045548"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"f45fb2f0-9453-4921-ae7a-9b6ca96c82de","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.05896} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3412694-2d07-4ba9-9233-58f150792711","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.059229} 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":"de155f5ca27b203945650910f3045548"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.058937978Z"}]},"request_id":"6cc03c1c-2d82-454b-8f70-3680f7d1ea7a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.0641365} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de155f5ca27b203945650910f3045548"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de155f5ca27b203945650910f3045548"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"de155f5ca27b203945650910f3045548","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMn0.FKFZzmZdthsrKFIUOaMFp5I7HEONVoPH9bV4649X8f4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e88f6367423a519c59541a5c4cc42419","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:22Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.731644,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458422,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMn0.FKFZzmZdthsrKFIUOaMFp5I7HEONVoPH9bV4649X8f4"} 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":"e88f6367423a519c59541a5c4cc42419"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"220b2c41-cdf6-48a9-b819-7a334d74db19","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.0883925} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e88f6367423a519c59541a5c4cc42419"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b0ba03a-aeee-4a43-b5ba-bf46cc55f6a5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.0936542} 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":"e88f6367423a519c59541a5c4cc42419"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"99f392a8-c1a7-48d7-8286-1d48a3af867c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.104782} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29f84230-a98f-47d0-95a0-d7f06d9a6073","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.10499} 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":"e88f6367423a519c59541a5c4cc42419"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.104761735Z"}]},"request_id":"fe377944-f171-4b49-a6d6-1ef21056e296","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.1089947} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e88f6367423a519c59541a5c4cc42419"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e88f6367423a519c59541a5c4cc42419"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"e88f6367423a519c59541a5c4cc42419","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMn0.FKFZzmZdthsrKFIUOaMFp5I7HEONVoPH9bV4649X8f4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5c71ba4507762aaeec906deadeaeff47","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:22Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.966226,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458422,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMn0.FKFZzmZdthsrKFIUOaMFp5I7HEONVoPH9bV4649X8f4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c71ba4507762aaeec906deadeaeff47"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.104761735Z"}]},"request_id":"1ac37d92-4fd3-4ed2-9c36-759ddacb53f7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.618717} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c71ba4507762aaeec906deadeaeff47"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"742547f3-00b2-4885-89e1-a121c4a9b906","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.624984} 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":"5c71ba4507762aaeec906deadeaeff47"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.104761735Z"}]},"request_id":"68dd6cf8-79c8-4a0f-9fe4-da89caf59d35","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458422.646047} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c71ba4507762aaeec906deadeaeff47"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f47485a2-f111-4b78-a095-f445801b5872 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5c71ba4507762aaeec906deadeaeff47"} device-1 | {"level":"info","message":"PATCH /devices/f47485a2-f111-4b78-a095-f445801b5872 200 40ms","method":"PATCH","requestID":"5c71ba4507762aaeec906deadeaeff47","responseTime":40,"status":200,"url":"/devices/f47485a2-f111-4b78-a095-f445801b5872"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMn0.FKFZzmZdthsrKFIUOaMFp5I7HEONVoPH9bV4649X8f4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cf02c2692dc69dab27d685ead397d5e0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:22Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709208,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458422,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyMn0.FKFZzmZdthsrKFIUOaMFp5I7HEONVoPH9bV4649X8f4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf02c2692dc69dab27d685ead397d5e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f47485a2-f111-4b78-a095-f445801b5872/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":"cf02c2692dc69dab27d685ead397d5e0"} device-1 | {"level":"info","message":"POST /devices/f47485a2-f111-4b78-a095-f445801b5872/websocket 200 17ms","method":"POST","requestID":"cf02c2692dc69dab27d685ead397d5e0","responseTime":17,"status":200,"url":"/devices/f47485a2-f111-4b78-a095-f445801b5872/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872' 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":"3374c4b5b5046f1560daca316dea4333","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/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":"3374c4b5b5046f1560daca316dea4333"} device-1 | {"level":"info","message":"OPTIONS /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/websocket 200 1ms","method":"OPTIONS","requestID":"3374c4b5b5046f1560daca316dea4333","responseTime":1,"status":200,"url":"/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d88051ebdaaa8b445dc4a1be46a1198c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699128,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458424,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d88051ebdaaa8b445dc4a1be46a1198c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/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":"d88051ebdaaa8b445dc4a1be46a1198c"} device-1 | {"level":"info","message":"POST /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/websocket 200 27ms","method":"POST","requestID":"d88051ebdaaa8b445dc4a1be46a1198c","responseTime":27,"status":200,"url":"/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"862890e25a64741cc2a45be542c53ac2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.002014,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458424,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"862890e25a64741cc2a45be542c53ac2"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.058937978Z"}]},"request_id":"37b4e3ae-120b-4ef1-b66c-6177240198bc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.08897} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"862890e25a64741cc2a45be542c53ac2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"862890e25a64741cc2a45be542c53ac2"} device-1 | {"level":"info","message":"GET /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401? 200 11ms","method":"GET","requestID":"862890e25a64741cc2a45be542c53ac2","responseTime":11,"status":200,"url":"/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8f03d06f6e5932b9c64631fcdb70dc10","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.363172,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458424,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f03d06f6e5932b9c64631fcdb70dc10"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.104761735Z"}]},"request_id":"6f4cedf8-b2df-401c-81c9-9440665e919f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.1060035} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f03d06f6e5932b9c64631fcdb70dc10"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f47485a2-f111-4b78-a095-f445801b5872? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f03d06f6e5932b9c64631fcdb70dc10"} device-1 | {"level":"info","message":"GET /devices/f47485a2-f111-4b78-a095-f445801b5872? 200 13ms","method":"GET","requestID":"8f03d06f6e5932b9c64631fcdb70dc10","responseTime":13,"status":200,"url":"/devices/f47485a2-f111-4b78-a095-f445801b5872?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aa00be679f146a157212f604b56e14d2","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:60464","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.66495,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458424,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY"} 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":"aa00be679f146a157212f604b56e14d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"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:60464","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.963497,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458424,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45f1f240-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.074158,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458424,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45f24060-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.058937978Z"}]},"request_id":"64d888f1-629c-4c5a-90f8-eca17c7dd430","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.1722627} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45f1f240-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.104761735Z"}]},"request_id":"c6b1655a-0142-47f7-b1c0-f70815a42c87","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.175984} 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":"45f24060-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401? 200 13ms","method":"GET","requestID":"45f1f240-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f47485a2-f111-4b78-a095-f445801b5872? 200 13ms","method":"GET","requestID":"45f24060-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/f47485a2-f111-4b78-a095-f445801b5872?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915324,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458424,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45fa0890-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.620722,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458424,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45fa2fa0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4ffe4e0-2ba7-414a-89f0-8c1773f2882a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.228798} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.868384,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","object_type":"device","rebac_allow":false,"scope_allow":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":"45facbe0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.058937978Z"}]},"request_id":"af0bf6e3-1f6f-48a8-936e-185005591754","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.2313137} 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":"45fa0890-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.104761735Z"}]},"request_id":"03385905-122e-4eea-a698-7a0d7ec2b15a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.2339256} device-1 | {"level":"info","message":"POST /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/signaling 200 13ms","method":"POST","requestID":"45facbe0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/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":"45fa2fa0-18eb-11ef-97dd-97826c0d9de9"},"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 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F17028b54-f33b-4ecb-93ea-962d22300f2d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F17028b54-f33b-4ecb-93ea-962d22300f2d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"b7248fa7-5a1e-4fb0-9968-6d361cce8035","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.2407303} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b8a59cd-d5c3-4a0c-acad-ca7f71992c6a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.2408926} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401? 200 26ms","method":"GET","requestID":"45fa0890-18eb-11ef-97dd-97826c0d9de9","responseTime":26,"status":200,"url":"/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401?"} 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":"aa00be679f146a157212f604b56e14d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc75c2ef-8652-40f4-8171-3e7f2a52935d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.2433465} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.766475,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} device-1 | {"level":"info","message":"GET /devices/f47485a2-f111-4b78-a095-f445801b5872? 200 25ms","method":"GET","requestID":"45fa2fa0-18eb-11ef-97dd-97826c0d9de9","responseTime":25,"status":200,"url":"/devices/f47485a2-f111-4b78-a095-f445801b5872?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45fd3ce0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f47485a2-f111-4b78-a095-f445801b5872/signaling 200 14ms","method":"POST","requestID":"45fd3ce0-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/f47485a2-f111-4b78-a095-f445801b5872/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 135ms","method":"POST","requestID":"aa00be679f146a157212f604b56e14d2","responseTime":135,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:10:00:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa00be679f146a157212f604b56e14d2"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"583dd5b7-f377-457a-9f19-17f2cf9eee75","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.2537045} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.834446,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","object_type":"device","rebac_allow":false,"scope_allow":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":"45fec380-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"75049ceaf8ce59e3d0c6e3ec2dfb515c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/signaling 200 11ms","method":"POST","requestID":"45fec380-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141091,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458424,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY"} 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":"75049ceaf8ce59e3d0c6e3ec2dfb515c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"985797df-e7ff-4a02-9649-1f9daf122ba5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.2706528} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.134675,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","object_type":"device","rebac_allow":false,"scope_allow":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":"4600e660-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.058937978Z"}]},"request_id":"a39282a5-1b41-4346-84a8-d07b4b8bfd72","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.2738867} 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":"75049ceaf8ce59e3d0c6e3ec2dfb515c"},"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/f47485a2-f111-4b78-a095-f445801b5872/signaling 200 17ms","method":"POST","requestID":"4600e660-18eb-11ef-97dd-97826c0d9de9","responseTime":17,"status":200,"url":"/devices/f47485a2-f111-4b78-a095-f445801b5872/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75049ceaf8ce59e3d0c6e3ec2dfb515c"} device-1 | {"level":"info","message":"GET /devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401? 200 20ms","method":"GET","requestID":"75049ceaf8ce59e3d0c6e3ec2dfb515c","responseTime":20,"status":200,"url":"/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"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":"e6903efc-87f5-4a39-a6be-582b810acb18"},{"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":"7d2143da-2e20-4d3a-ba02-d91461285dbe"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9ba64fbf-28de-4ce6-a09d-bceed9d32cc3"}]},"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/f47485a2-f111-4b78-a095-f445801b5872"},{"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/2e56bb61-92b3-4e97-84f1-4c3575ea1401"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8505e6a76b85e73e3f45d4d4f799939c","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.738916,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458424,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY"} 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":"4603f3a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688509,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458424,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNH0.cx9EIthh6S-FiqeBtO1NavtTWTSl9X-xheOW4IZ7TmY"} 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":"8505e6a76b85e73e3f45d4d4f799939c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"11509701-ffcb-4ef7-aaa4-c9e03a1f03b5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.2949052} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93a42c45-2a64-4969-9c8c-a20011e4513f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.2950895} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:22.104761735Z"}]},"request_id":"f2405e37-0ba9-412b-8e95-2eb6cff5a841","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.2956996} 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":"4603f3a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8505e6a76b85e73e3f45d4d4f799939c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f47485a2-f111-4b78-a095-f445801b5872? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8505e6a76b85e73e3f45d4d4f799939c"} device-1 | {"level":"info","message":"GET /devices/f47485a2-f111-4b78-a095-f445801b5872? 200 15ms","method":"GET","requestID":"8505e6a76b85e73e3f45d4d4f799939c","responseTime":15,"status":200,"url":"/devices/f47485a2-f111-4b78-a095-f445801b5872?"} 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/aa2cb1d9-9d40-47c0-8e4e-899d4a800379'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 35ms","method":"POST","requestID":"4603f3a0-18eb-11ef-97dd-97826c0d9de9","responseTime":35,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61bc1f5b-cf65-47ea-9c90-327e72fcb1b9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.3499749} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.583916,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","object_type":"device","rebac_allow":false,"scope_allow":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":"460d9090-18eb-11ef-97dd-97826c0d9de9"},"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/2e56bb61-92b3-4e97-84f1-4c3575ea1401/signaling 200 9ms","method":"POST","requestID":"460d9090-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"988a4779-5308-47a8-a9c8-e71199908d7b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458424.361785} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.647741,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","object_type":"device","rebac_allow":false,"scope_allow":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":"460f6550-18eb-11ef-97dd-97826c0d9de9"},"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/f47485a2-f111-4b78-a095-f445801b5872/signaling 200 13ms","method":"POST","requestID":"460f6550-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/f47485a2-f111-4b78-a095-f445801b5872/signaling"} device-1 | {"data":{"peerconnection":"aa2cb1d9-9d40-47c0-8e4e-899d4a800379","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/aa2cb1d9-9d40-47c0-8e4e-899d4a800379' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aa2cb1d9-9d40-47c0-8e4e-899d4a800379","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":"1b4ebc53034cb294978e8edf8ae50962","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872"},{"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/2e56bb61-92b3-4e97-84f1-4c3575ea1401"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"1b4ebc53034cb294978e8edf8ae50962","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"1b4ebc53034cb294978e8edf8ae50962"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401'"} device-1 | {"data":{"peerconnection":"aa2cb1d9-9d40-47c0-8e4e-899d4a800379","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"aa2cb1d9-9d40-47c0-8e4e-899d4a800379","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/aa2cb1d9-9d40-47c0-8e4e-899d4a800379' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aa2cb1d9-9d40-47c0-8e4e-899d4a800379","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":"11072821390269fc67457b79e89a8229","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/f47485a2-f111-4b78-a095-f445801b5872"},{"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/2e56bb61-92b3-4e97-84f1-4c3575ea1401"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faa2cb1d9-9d40-47c0-8e4e-899d4a800379","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24c3296f-bdcf-4d1b-bfad-d92dd3668b76","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.4749722} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.045535,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379","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":"4751f770-18eb-11ef-97dd-97826c0d9de9"},"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/aa2cb1d9-9d40-47c0-8e4e-899d4a800379 200 8ms","method":"GET","requestID":"4751f770-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"11072821390269fc67457b79e89a8229","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"11072821390269fc67457b79e89a8229"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f42dbdf-1885-4302-b218-011aae9486b3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.4985912} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.218698,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"475579e0-18eb-11ef-97dd-97826c0d9de9"},"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/f47485a2-f111-4b78-a095-f445801b5872/signaling 200 9ms","method":"POST","requestID":"475579e0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/f47485a2-f111-4b78-a095-f445801b5872/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e679f020-2a0f-4209-93a4-691ba08d9188","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.5084128} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.044454,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","object_type":"device","rebac_allow":false,"scope_allow":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":"47570080-18eb-11ef-97dd-97826c0d9de9"},"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/2e56bb61-92b3-4e97-84f1-4c3575ea1401/signaling 200 8ms","method":"POST","requestID":"47570080-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNn0.AJA9naeUI6zm8FgxMR8vxZLla6vsqSwPncdIu_CtfJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b5ea904bafa3ddfd21e25647eacd551e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.878698,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458426,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNn0.AJA9naeUI6zm8FgxMR8vxZLla6vsqSwPncdIu_CtfJA"} 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":"b5ea904bafa3ddfd21e25647eacd551e"},"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/17028b54-f33b-4ecb-93ea-962d22300f2d"} gateway-1 | {"time_local":"23/May/2024:10:00:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/17028b54-f33b-4ecb-93ea-962d22300f2d HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b5ea904bafa3ddfd21e25647eacd551e"} experiment-1 | {"level":"info","message":"GET /experiments/17028b54-f33b-4ecb-93ea-962d22300f2d 200 10ms","method":"GET","requestID":"b5ea904bafa3ddfd21e25647eacd551e","responseTime":10,"status":200,"url":"/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNn0.AJA9naeUI6zm8FgxMR8vxZLla6vsqSwPncdIu_CtfJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78e8c906987380a788e128a40ceb3625","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.311734,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458426,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNn0.AJA9naeUI6zm8FgxMR8vxZLla6vsqSwPncdIu_CtfJA"} 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":"78e8c906987380a788e128a40ceb3625"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.037067,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458426,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNn0.AJA9naeUI6zm8FgxMR8vxZLla6vsqSwPncdIu_CtfJA"} 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":"47635c90-18eb-11ef-97dd-97826c0d9de9"},"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/aa2cb1d9-9d40-47c0-8e4e-899d4a800379' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aa2cb1d9-9d40-47c0-8e4e-899d4a800379","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faa2cb1d9-9d40-47c0-8e4e-899d4a800379': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faa2cb1d9-9d40-47c0-8e4e-899d4a800379","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"415b0203-1c67-457b-b20c-0427a2f37154","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.6078625} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb956741-0b8c-4f5b-bea3-d0a4751ae97c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.6080816} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d4ac2b132870f9e5720fd8e961101518","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872"},{"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/2e56bb61-92b3-4e97-84f1-4c3575ea1401"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47635c90-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0cec6f98dda4efe8df225d929e10f23d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872"},{"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/2e56bb61-92b3-4e97-84f1-4c3575ea1401"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"aa2cb1d9-9d40-47c0-8e4e-899d4a800379","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/aa2cb1d9-9d40-47c0-8e4e-899d4a800379 204 40ms","method":"DELETE","requestID":"47635c90-18eb-11ef-97dd-97826c0d9de9","responseTime":40,"status":204,"url":"/peerconnections/aa2cb1d9-9d40-47c0-8e4e-899d4a800379"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47485a2-f111-4b78-a095-f445801b5872","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9cea08e4-c4e3-4383-a296-1bb37b03a2c4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.649066} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.263557,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"476c3630-18eb-11ef-97dd-97826c0d9de9"},"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/f47485a2-f111-4b78-a095-f445801b5872/signaling 200 11ms","method":"POST","requestID":"476c3630-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/f47485a2-f111-4b78-a095-f445801b5872/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F17028b54-f33b-4ecb-93ea-962d22300f2d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F17028b54-f33b-4ecb-93ea-962d22300f2d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"c22c1486-77dc-47a3-bfb9-2b6205327def","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.6601152} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e56bb61-92b3-4e97-84f1-4c3575ea1401","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5eb69601-7a0d-45b0-9c9b-e27f92b5eac1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.6602063} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c483f38-524c-4a75-8b77-4da3debaf9d4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.660444} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.610737,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"476e3200-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} 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":"78e8c906987380a788e128a40ceb3625"},"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/2e56bb61-92b3-4e97-84f1-4c3575ea1401/signaling 200 9ms","method":"POST","requestID":"476e3200-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/2e56bb61-92b3-4e97-84f1-4c3575ea1401/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"} gateway-1 | {"time_local":"23/May/2024:10:00:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/17028b54-f33b-4ecb-93ea-962d22300f2d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78e8c906987380a788e128a40ceb3625"} experiment-1 | {"level":"info","message":"DELETE /experiments/17028b54-f33b-4ecb-93ea-962d22300f2d 204 148ms","method":"DELETE","requestID":"78e8c906987380a788e128a40ceb3625","responseTime":148,"status":204,"url":"/experiments/17028b54-f33b-4ecb-93ea-962d22300f2d"} gateway-1 | {"time_local":"23/May/2024:10:00:26 +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.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3240d5d7631409aa825769c2033a81a8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNn0.AJA9naeUI6zm8FgxMR8vxZLla6vsqSwPncdIu_CtfJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0a455f28e1d511cc984cb06ed6cee080","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"d4ac2b132870f9e5720fd8e961101518","responseTime":117,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:00:26 +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.662","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7dc99eadf8dd2ce500ef3eecabf4f757"} gateway-1 | {"time_local":"23/May/2024:10:00: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.120","http_referrer":"","http_user_agent":"node-fetch","requestID":"d4ac2b132870f9e5720fd8e961101518"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f47485a2-f111-4b78-a095-f445801b5872' closed"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:26Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"0cec6f98dda4efe8df225d929e10f23d","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"0cec6f98dda4efe8df225d929e10f23d"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.86591,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458426,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNn0.AJA9naeUI6zm8FgxMR8vxZLla6vsqSwPncdIu_CtfJA"} 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":"0a455f28e1d511cc984cb06ed6cee080"},"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/2e56bb61-92b3-4e97-84f1-4c3575ea1401' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"acd31ae8-0d2c-4348-9cfa-a0ab24b1f04c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.7458384} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a455f28e1d511cc984cb06ed6cee080"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4aa2c66d-7c28-4426-af8d-ed64ee2297b7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.7513216} 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":"0a455f28e1d511cc984cb06ed6cee080"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"22d762f8-e031-4c8d-89ff-18427068276d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.762125} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61fe41c8-4ed4-470b-8311-78ff38b832ba","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.7623024} 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":"0a455f28e1d511cc984cb06ed6cee080"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.762104818Z"}]},"request_id":"1f57df22-8499-4f43-9c47-a3f1507bdf24","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.7670412} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a455f28e1d511cc984cb06ed6cee080"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a455f28e1d511cc984cb06ed6cee080"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"0a455f28e1d511cc984cb06ed6cee080","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNn0.AJA9naeUI6zm8FgxMR8vxZLla6vsqSwPncdIu_CtfJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"206d8ff3bcf9dd8a78f0bc954ff09bf1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.97025,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458426,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyNn0.AJA9naeUI6zm8FgxMR8vxZLla6vsqSwPncdIu_CtfJA"} 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":"206d8ff3bcf9dd8a78f0bc954ff09bf1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"855d6114-e57e-476c-aa36-64dcc44c76e9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.7936115} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"206d8ff3bcf9dd8a78f0bc954ff09bf1"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1cf83b36-b21e-4a1e-b5d1-8ccfd751ab25","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.799989} 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":"206d8ff3bcf9dd8a78f0bc954ff09bf1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"1c8174e6-bef6-480e-a2e0-ab99800fe12d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.8110085} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3097e1d7-3e87-4f65-a699-eca0b4e8c428","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.8112314} 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":"206d8ff3bcf9dd8a78f0bc954ff09bf1"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.810980081Z"}]},"request_id":"b3ad8947-a1cc-4b1d-bb22-f08e569270da","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458426.8164275} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"206d8ff3bcf9dd8a78f0bc954ff09bf1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"206d8ff3bcf9dd8a78f0bc954ff09bf1"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"206d8ff3bcf9dd8a78f0bc954ff09bf1","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyN30.-qfBJsgGIx7HDfc6-fMzcqJt_2qyBYEbZq_Rqkbw-q0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b0035b5a3b41d6c64704b863908a4122","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670095,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458427,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyN30.-qfBJsgGIx7HDfc6-fMzcqJt_2qyBYEbZq_Rqkbw-q0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0035b5a3b41d6c64704b863908a4122"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.762104818Z"}]},"request_id":"0f0a4855-6689-4207-8bb1-4b66d3e02b75","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458427.331864} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0035b5a3b41d6c64704b863908a4122"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be69ad1c-3e1e-4710-8a3b-6b9a440a1e36","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458427.3370354} 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":"b0035b5a3b41d6c64704b863908a4122"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.762104818Z"}]},"request_id":"fd648a0c-1bd8-49a4-b60a-75fe2aea6bad","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458427.3456185} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0035b5a3b41d6c64704b863908a4122"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b0035b5a3b41d6c64704b863908a4122"} device-1 | {"level":"info","message":"PATCH /devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e 200 25ms","method":"PATCH","requestID":"b0035b5a3b41d6c64704b863908a4122","responseTime":25,"status":200,"url":"/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyN30.-qfBJsgGIx7HDfc6-fMzcqJt_2qyBYEbZq_Rqkbw-q0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d606df2f429e69dfd10ab6f872144b9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741518,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458427,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyN30.-qfBJsgGIx7HDfc6-fMzcqJt_2qyBYEbZq_Rqkbw-q0"} 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":"0d606df2f429e69dfd10ab6f872144b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/websocket 200 17ms","method":"POST","requestID":"0d606df2f429e69dfd10ab6f872144b9","responseTime":17,"status":200,"url":"/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/websocket"} gateway-1 | {"time_local":"23/May/2024:10:00:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/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":"0d606df2f429e69dfd10ab6f872144b9"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e' 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":"38d3a485db0f77755ff2e2da01ca8f73","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"38d3a485db0f77755ff2e2da01ca8f73"} device-1 | {"level":"info","message":"OPTIONS /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/websocket 200 1ms","method":"OPTIONS","requestID":"38d3a485db0f77755ff2e2da01ca8f73","responseTime":1,"status":200,"url":"/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"738ab529cec4ee67b488e9ea2e50aa3b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707948,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458428,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"738ab529cec4ee67b488e9ea2e50aa3b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"738ab529cec4ee67b488e9ea2e50aa3b"} device-1 | {"level":"info","message":"POST /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/websocket 200 31ms","method":"POST","requestID":"738ab529cec4ee67b488e9ea2e50aa3b","responseTime":31,"status":200,"url":"/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d0f492643b8afcd48705258ef99992a8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676881,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458428,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA"} 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":"d0f492643b8afcd48705258ef99992a8"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.762104818Z"}]},"request_id":"2750cf95-b258-403a-99f2-c7bbd67d3287","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.7849813} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0f492643b8afcd48705258ef99992a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d0f492643b8afcd48705258ef99992a8"} device-1 | {"level":"info","message":"GET /devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e? 200 13ms","method":"GET","requestID":"d0f492643b8afcd48705258ef99992a8","responseTime":13,"status":200,"url":"/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"882979cde4cde7fbc640e7908b841cf2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692213,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458428,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"882979cde4cde7fbc640e7908b841cf2"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.810980081Z"}]},"request_id":"293b694f-aaa2-4bb0-8abf-d3882608d40b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.8035676} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"882979cde4cde7fbc640e7908b841cf2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"882979cde4cde7fbc640e7908b841cf2"} device-1 | {"level":"info","message":"GET /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6? 200 14ms","method":"GET","requestID":"882979cde4cde7fbc640e7908b841cf2","responseTime":14,"status":200,"url":"/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"24fae87c154617f760144823085b7672","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:60464","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.646839,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458428,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA"} 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":"24fae87c154617f760144823085b7672"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"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:60464","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7021,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458428,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48bea6d0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.552824,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458428,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48bef4f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.762104818Z"}]},"request_id":"86fc155f-cc34-4472-9fce-1577227a11b2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.8707926} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48bea6d0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.810980081Z"}]},"request_id":"0909503c-ff4a-498c-a27c-7437da632ef7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.8715076} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48bef4f0-18eb-11ef-97dd-97826c0d9de9"},"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/3c59edd5-0577-4183-9e8d-c8c0b816ba7e? 200 15ms","method":"GET","requestID":"48bea6d0-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6? 200 13ms","method":"GET","requestID":"48bef4f0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"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/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.164396,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458428,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48c7ce90-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.978959,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458428,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA"} 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":"48c7f5a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.444827,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"248fe505-1730-4de3-9c2a-d7df9a7a8c0d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.930579} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","object_type":"device","rebac_allow":false,"scope_allow":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":"48c843c0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.762104818Z"}]},"request_id":"d76408c7-0f59-4085-a50b-6ab1dea8aff1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.9321089} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.810980081Z"}]},"request_id":"a092a13f-8172-44a2-a492-2a287b38a1c3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.9333227} 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":"48c7ce90-18eb-11ef-97dd-97826c0d9de9"},"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 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48c7f5a0-18eb-11ef-97dd-97826c0d9de9"},"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/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/signaling 200 15ms","method":"POST","requestID":"48c843c0-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e? 200 19ms","method":"GET","requestID":"48c7ce90-18eb-11ef-97dd-97826c0d9de9","responseTime":19,"status":200,"url":"/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F210ab3af-d4e4-4a47-9032-447b8821fc30#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F210ab3af-d4e4-4a47-9032-447b8821fc30","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"75b3ed3a-4679-43f6-ba5b-98832e75ff39","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.9404337} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"15320dbc-cb78-424a-b7cb-d089fc83b6a1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.9406252} device-1 | {"level":"info","message":"GET /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6? 200 19ms","method":"GET","requestID":"48c7f5a0-18eb-11ef-97dd-97826c0d9de9","responseTime":19,"status":200,"url":"/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24fae87c154617f760144823085b7672"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d0fa157-b6db-4a9c-a760-608b9dbd3efa","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.947571} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0822f044-eef0-47be-a245-51446816df00","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.9488127} experiment-1 | {"data":{"experiment":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:00: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.141","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24fae87c154617f760144823085b7672"} experiment-1 | {"level":"info","message":"POST /experiments? 201 137ms","method":"POST","requestID":"24fae87c154617f760144823085b7672","responseTime":137,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"83f6d573d95f166d81c349046627df08","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":9.576514,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":11.116699,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","object_type":"device","rebac_allow":false,"scope_allow":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":"48cb29f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","object_type":"device","rebac_allow":false,"scope_allow":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":"48cb02e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/signaling 200 18ms","method":"POST","requestID":"48cb29f0-18eb-11ef-97dd-97826c0d9de9","responseTime":18,"status":200,"url":"/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.991539,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} device-1 | {"level":"info","message":"POST /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/signaling 200 21ms","method":"POST","requestID":"48cb02e0-18eb-11ef-97dd-97826c0d9de9","responseTime":21,"status":200,"url":"/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458428,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83f6d573d95f166d81c349046627df08"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1d21141-673b-4e65-901a-8b9e670e239f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.9680123} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.762104818Z"}]},"request_id":"92cd1325-cc53-4373-832c-159de4da2b18","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.9682744} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83f6d573d95f166d81c349046627df08"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.728213,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48ce3730-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83f6d573d95f166d81c349046627df08"} device-1 | {"level":"info","message":"GET /devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e? 200 18ms","method":"GET","requestID":"83f6d573d95f166d81c349046627df08","responseTime":18,"status":200,"url":"/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/signaling 200 14ms","method":"POST","requestID":"48ce3730-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"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":"d3154767-55d2-4dda-836e-46dd5f7ab706"},{"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":"f4f5f8cf-7493-4129-8a37-6684703cc06b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"60cd4eda-9a11-47a0-9b6a-ee6b42c8a065"}]},"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/a56d311c-5ef7-45de-9268-1e77d2ba56c6"},{"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/3c59edd5-0577-4183-9e8d-c8c0b816ba7e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"97eb6ead9bf937b0f37a35f2e5909d1c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.840311,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458428,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA"} 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":"48d0cf40-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:59872","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859602,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458428,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQyOH0.csAJX5wBIn6jrfVO9Wn3rqR4LoMLIzBfDcnaiONU5ZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97eb6ead9bf937b0f37a35f2e5909d1c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:26.810980081Z"}]},"request_id":"645e0274-e3ff-4a6e-9fbf-77991e02d027","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.9926138} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97eb6ead9bf937b0f37a35f2e5909d1c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97eb6ead9bf937b0f37a35f2e5909d1c"} device-1 | {"level":"info","message":"GET /devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6? 200 12ms","method":"GET","requestID":"97eb6ead9bf937b0f37a35f2e5909d1c","responseTime":12,"status":200,"url":"/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"01a2488b-6350-4d2e-8d7b-15ef975732ba","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.9968708} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"417e9338-a25d-4d5c-8fa8-060d9768ff41","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458428.9971292} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48d0cf40-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"48d0cf40-18eb-11ef-97dd-97826c0d9de9","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:29Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d01ce0e-fc1a-475e-a7f1-c804591dc68c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458429.066144} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.34631,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","object_type":"device","rebac_allow":false,"scope_allow":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":"48dd5260-18eb-11ef-97dd-97826c0d9de9"},"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/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/signaling 200 9ms","method":"POST","requestID":"48dd5260-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:29Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49bf5319-1c82-49cd-a947-624ad7c0898e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458429.079205} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.470142,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","object_type":"device","rebac_allow":false,"scope_allow":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":"48df0010-18eb-11ef-97dd-97826c0d9de9"},"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/a56d311c-5ef7-45de-9268-1e77d2ba56c6/signaling 200 10ms","method":"POST","requestID":"48df0010-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/signaling"} device-1 | {"data":{"peerconnection":"1a7db1f5-b346-47e9-b4eb-c73862a07a89","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/1a7db1f5-b346-47e9-b4eb-c73862a07a89' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1a7db1f5-b346-47e9-b4eb-c73862a07a89","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/a56d311c-5ef7-45de-9268-1e77d2ba56c6'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bb43842c5594881965bc236b85a40c75","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6"},{"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/3c59edd5-0577-4183-9e8d-c8c0b816ba7e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"bb43842c5594881965bc236b85a40c75","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb43842c5594881965bc236b85a40c75"} device-1 | {"data":{"peerconnection":"1a7db1f5-b346-47e9-b4eb-c73862a07a89","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"1a7db1f5-b346-47e9-b4eb-c73862a07a89","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/1a7db1f5-b346-47e9-b4eb-c73862a07a89' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1a7db1f5-b346-47e9-b4eb-c73862a07a89","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":"7cdc96a45ba0b51994d8fc7be2a8a952","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6"},{"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/3c59edd5-0577-4183-9e8d-c8c0b816ba7e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a7db1f5-b346-47e9-b4eb-c73862a07a89","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f81eeb89-ddaf-4e4a-ad08-bfc0939c1fc8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.2243676} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.234975,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89","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":"4a269b40-18eb-11ef-97dd-97826c0d9de9"},"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/1a7db1f5-b346-47e9-b4eb-c73862a07a89 200 8ms","method":"GET","requestID":"4a269b40-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"7cdc96a45ba0b51994d8fc7be2a8a952","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"7cdc96a45ba0b51994d8fc7be2a8a952"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ae93061-939e-41c4-865d-a37cef09e7d6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.2507837} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.229579,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a2a6bd0-18eb-11ef-97dd-97826c0d9de9"},"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/a56d311c-5ef7-45de-9268-1e77d2ba56c6/signaling 200 10ms","method":"POST","requestID":"4a2a6bd0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13dfea3b-650f-41cb-a733-07dfe4343148","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.2612288} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.370151,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","object_type":"device","rebac_allow":false,"scope_allow":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":"4a2c4090-18eb-11ef-97dd-97826c0d9de9"},"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/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/signaling 200 8ms","method":"POST","requestID":"4a2c4090-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMX0.hvMFN8Y0hnZEbi8najeNMSdBmRJ2BlgbhCQ8bCd_arQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7c11d0efc170a1a0ca88440ea7899bab","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.768624,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458431,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMX0.hvMFN8Y0hnZEbi8najeNMSdBmRJ2BlgbhCQ8bCd_arQ"} 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":"7c11d0efc170a1a0ca88440ea7899bab"},"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/210ab3af-d4e4-4a47-9032-447b8821fc30"} gateway-1 | {"time_local":"23/May/2024:10:00:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/210ab3af-d4e4-4a47-9032-447b8821fc30 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c11d0efc170a1a0ca88440ea7899bab"} experiment-1 | {"level":"info","message":"GET /experiments/210ab3af-d4e4-4a47-9032-447b8821fc30 200 8ms","method":"GET","requestID":"7c11d0efc170a1a0ca88440ea7899bab","responseTime":8,"status":200,"url":"/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMX0.hvMFN8Y0hnZEbi8najeNMSdBmRJ2BlgbhCQ8bCd_arQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c8a7297e1d82e1b85c28f9580db97941","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.632917,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458431,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMX0.hvMFN8Y0hnZEbi8najeNMSdBmRJ2BlgbhCQ8bCd_arQ"} 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":"c8a7297e1d82e1b85c28f9580db97941"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.690288,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458431,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMX0.hvMFN8Y0hnZEbi8najeNMSdBmRJ2BlgbhCQ8bCd_arQ"} 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":"4a354140-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a7db1f5-b346-47e9-b4eb-c73862a07a89': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a7db1f5-b346-47e9-b4eb-c73862a07a89","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"812702f2-67a7-4a48-93dd-bb0202f802f0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.335875} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81ad8bce-9271-42a0-9b4b-e0b1836d3ad1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.3362935} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89' to 'http://localhost/callbacks/experiment'"} 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":"4a354140-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"1a7db1f5-b346-47e9-b4eb-c73862a07a89","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":"d774a459b77a37d7472abf7ca00f6ae7","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":"closed","url":"http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6"},{"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/3c59edd5-0577-4183-9e8d-c8c0b816ba7e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89"}}},"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":"2d81797064a9f616569b9c1114319d4b","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/a56d311c-5ef7-45de-9268-1e77d2ba56c6"},{"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/3c59edd5-0577-4183-9e8d-c8c0b816ba7e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89 204 34ms","method":"DELETE","requestID":"4a354140-18eb-11ef-97dd-97826c0d9de9","responseTime":34,"status":204,"url":"/peerconnections/1a7db1f5-b346-47e9-b4eb-c73862a07a89"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56d311c-5ef7-45de-9268-1e77d2ba56c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94424b59-d77b-4aee-bae1-d31e10653f09","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.3737264} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.253118,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a3d5790-18eb-11ef-97dd-97826c0d9de9"},"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/a56d311c-5ef7-45de-9268-1e77d2ba56c6/signaling 200 9ms","method":"POST","requestID":"4a3d5790-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/a56d311c-5ef7-45de-9268-1e77d2ba56c6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F210ab3af-d4e4-4a47-9032-447b8821fc30': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F210ab3af-d4e4-4a47-9032-447b8821fc30","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"1a567df3-998b-4f54-835e-f3866cb8bfbb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.3815987} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72b397b5-3d19-45d5-9a7b-46329375ba32","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.38196} 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":"c8a7297e1d82e1b85c28f9580db97941"},"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:60464","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c59edd5-0577-4183-9e8d-c8c0b816ba7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"692dd3fd-b4f1-43fe-933c-b1260d1e3e25","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.3848503} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.281887,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e","object_type":"device","rebac_allow":false,"scope_allow":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":"4a3f0540-18eb-11ef-97dd-97826c0d9de9"},"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/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/signaling 200 9ms","method":"POST","requestID":"4a3f0540-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"} gateway-1 | {"time_local":"23/May/2024:10:00:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/210ab3af-d4e4-4a47-9032-447b8821fc30 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8a7297e1d82e1b85c28f9580db97941"} experiment-1 | {"level":"info","message":"DELETE /experiments/210ab3af-d4e4-4a47-9032-447b8821fc30 204 122ms","method":"DELETE","requestID":"c8a7297e1d82e1b85c28f9580db97941","responseTime":122,"status":204,"url":"/experiments/210ab3af-d4e4-4a47-9032-447b8821fc30"} gateway-1 | {"time_local":"23/May/2024:10:00:31 +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.060","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a2b04c0f9661e472c0a0c07397bddce8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 87ms","method":"POST","requestID":"d774a459b77a37d7472abf7ca00f6ae7","responseTime":87,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.091","http_referrer":"","http_user_agent":"node-fetch","requestID":"d774a459b77a37d7472abf7ca00f6ae7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 86ms","method":"POST","requestID":"2d81797064a9f616569b9c1114319d4b","responseTime":86,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.093","http_referrer":"","http_user_agent":"node-fetch","requestID":"2d81797064a9f616569b9c1114319d4b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMX0.hvMFN8Y0hnZEbi8najeNMSdBmRJ2BlgbhCQ8bCd_arQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bc491adfb6e13dcbb2642188e7cab403","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:00:31 +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.680","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"13267917ce9ea9eb07a4a731bda0e410"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3c59edd5-0577-4183-9e8d-c8c0b816ba7e' closed"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.999791,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458431,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMX0.hvMFN8Y0hnZEbi8najeNMSdBmRJ2BlgbhCQ8bCd_arQ"} 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":"bc491adfb6e13dcbb2642188e7cab403"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d03bd825-306e-4af2-9b25-197c56fdc9f1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.4543793} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc491adfb6e13dcbb2642188e7cab403"},"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/a56d311c-5ef7-45de-9268-1e77d2ba56c6' 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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f73509cb-d1d1-454f-9372-7565b6d16f6c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.4611106} 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":"bc491adfb6e13dcbb2642188e7cab403"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"9f43760a-18a7-4ec2-a8b5-8d26285b714d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.4762857} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90f38630-aedf-4304-9220-ab340f952c3d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.4763978} 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":"bc491adfb6e13dcbb2642188e7cab403"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.476256450Z"}]},"request_id":"ebdba88e-445f-49bb-81ba-241777a9050b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.4827974} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc491adfb6e13dcbb2642188e7cab403"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc491adfb6e13dcbb2642188e7cab403"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"bc491adfb6e13dcbb2642188e7cab403","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMX0.hvMFN8Y0hnZEbi8najeNMSdBmRJ2BlgbhCQ8bCd_arQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"280f8bf8f1c35ae0edf7a8440e2f849c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.848106,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458431,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMX0.hvMFN8Y0hnZEbi8najeNMSdBmRJ2BlgbhCQ8bCd_arQ"} 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":"280f8bf8f1c35ae0edf7a8440e2f849c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"74a91d66-2dce-42d0-a254-f262d51d902a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.511473} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"280f8bf8f1c35ae0edf7a8440e2f849c"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29ae04d4-d310-48df-9d3f-fc5576674ace","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.5171685} 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":"280f8bf8f1c35ae0edf7a8440e2f849c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"d090ba9a-f99f-466f-89ba-58d6cc1419f9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.5276453} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a699283d-a0fa-4cfd-8e7f-9cd40b59e4fb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.527748} 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":"280f8bf8f1c35ae0edf7a8440e2f849c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.527621360Z"}]},"request_id":"23e38c52-7cfe-4d80-b0f8-220e95588ed2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458431.5337422} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"280f8bf8f1c35ae0edf7a8440e2f849c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"280f8bf8f1c35ae0edf7a8440e2f849c"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"280f8bf8f1c35ae0edf7a8440e2f849c","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMn0.f7gOpEnLYTSjdKoFfgIxaC1idXjUSsJy2_Q2Nemwo5Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"edcb2676c965d68ce6d1f6fb8d315505","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:32Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.946328,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458432,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMn0.f7gOpEnLYTSjdKoFfgIxaC1idXjUSsJy2_Q2Nemwo5Q"} 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":"edcb2676c965d68ce6d1f6fb8d315505"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.476256450Z"}]},"request_id":"94317ac3-23f6-4ba0-907b-471005088c03","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458432.0566437} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edcb2676c965d68ce6d1f6fb8d315505"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20c9cb4a-27db-4332-9a25-bb6c5260d706","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458432.0635202} 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":"edcb2676c965d68ce6d1f6fb8d315505"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.476256450Z"}]},"request_id":"da8b91dd-fd09-4d2a-b114-a296f4c9e939","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458432.0927296} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edcb2676c965d68ce6d1f6fb8d315505"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"edcb2676c965d68ce6d1f6fb8d315505"} device-1 | {"level":"info","message":"PATCH /devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d 200 54ms","method":"PATCH","requestID":"edcb2676c965d68ce6d1f6fb8d315505","responseTime":54,"status":200,"url":"/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMn0.f7gOpEnLYTSjdKoFfgIxaC1idXjUSsJy2_Q2Nemwo5Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ba886cafeeceb00633519bd208091f5c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:32Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932571,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458432,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzMn0.f7gOpEnLYTSjdKoFfgIxaC1idXjUSsJy2_Q2Nemwo5Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba886cafeeceb00633519bd208091f5c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/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":"ba886cafeeceb00633519bd208091f5c"} device-1 | {"level":"info","message":"POST /devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/websocket 200 18ms","method":"POST","requestID":"ba886cafeeceb00633519bd208091f5c","responseTime":18,"status":200,"url":"/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d' 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":"27044232e72c21adf36cefcd344edf65","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dd42e3e8-3b28-4997-b710-e71382c93929/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":"27044232e72c21adf36cefcd344edf65"} device-1 | {"level":"info","message":"OPTIONS /devices/dd42e3e8-3b28-4997-b710-e71382c93929/websocket 200 1ms","method":"OPTIONS","requestID":"27044232e72c21adf36cefcd344edf65","responseTime":1,"status":200,"url":"/devices/dd42e3e8-3b28-4997-b710-e71382c93929/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a21b520ccca00aaaec31598a076146e6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.370357,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458433,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a21b520ccca00aaaec31598a076146e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dd42e3e8-3b28-4997-b710-e71382c93929/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":"a21b520ccca00aaaec31598a076146e6"} device-1 | {"level":"info","message":"POST /devices/dd42e3e8-3b28-4997-b710-e71382c93929/websocket 200 29ms","method":"POST","requestID":"a21b520ccca00aaaec31598a076146e6","responseTime":29,"status":200,"url":"/devices/dd42e3e8-3b28-4997-b710-e71382c93929/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c087a1e2b760c1898b79329c4d9e501","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726406,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458433,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA"} 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":"0c087a1e2b760c1898b79329c4d9e501"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.476256450Z"}]},"request_id":"72e1a45f-5472-4dd6-8207-8ae347fd45d3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.5193367} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c087a1e2b760c1898b79329c4d9e501"},"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/4c4c9ebb-e99d-4635-8402-9dab35dbe72d? 200 12ms","method":"GET","requestID":"0c087a1e2b760c1898b79329c4d9e501","responseTime":12,"status":200,"url":"/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d?"} gateway-1 | {"time_local":"23/May/2024:10:00:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c087a1e2b760c1898b79329c4d9e501"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"40cf5ed7979d7d9ee35f606b8eb873c3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685499,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458433,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40cf5ed7979d7d9ee35f606b8eb873c3"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.527621360Z"}]},"request_id":"23b8be28-2be4-42b6-8635-6c5c54a942e8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.5354848} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40cf5ed7979d7d9ee35f606b8eb873c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd42e3e8-3b28-4997-b710-e71382c93929? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40cf5ed7979d7d9ee35f606b8eb873c3"} device-1 | {"level":"info","message":"GET /devices/dd42e3e8-3b28-4997-b710-e71382c93929? 200 12ms","method":"GET","requestID":"40cf5ed7979d7d9ee35f606b8eb873c3","responseTime":12,"status":200,"url":"/devices/dd42e3e8-3b28-4997-b710-e71382c93929?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"145bb46bf126ed50eda76ee37cebd919","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:60464","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.714126,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458433,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA"} 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":"145bb46bf126ed50eda76ee37cebd919"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"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:60464","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.988921,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458433,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b9127c0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.177847,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458433,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA"} 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":"4b914ed0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.476256450Z"}]},"request_id":"83414f92-c36b-4e99-8095-12678a6f63e4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.6050365} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b9127c0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.527621360Z"}]},"request_id":"124b5bc2-9e85-4ad6-98aa-5f1497d96eb9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.6087759} 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":"4b914ed0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d? 200 14ms","method":"GET","requestID":"4b9127c0-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dd42e3e8-3b28-4997-b710-e71382c93929? 200 16ms","method":"GET","requestID":"4b914ed0-18eb-11ef-97dd-97826c0d9de9","responseTime":16,"status":200,"url":"/devices/dd42e3e8-3b28-4997-b710-e71382c93929?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"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/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.959126,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458433,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b98c8e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902041,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458433,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b991700-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e3748ee-5ee6-4c61-9884-f25f13977b94","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.656075} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.794208,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","object_type":"device","rebac_allow":false,"scope_allow":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":"4b993e10-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.476256450Z"}]},"request_id":"2a7969f9-3135-40f3-9682-6fb83974b303","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.657741} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.527621360Z"}]},"request_id":"82ea6ed9-2b58-4019-994e-796a33c1da09","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.6594472} 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":"4b98c8e0-18eb-11ef-97dd-97826c0d9de9"},"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":"4b991700-18eb-11ef-97dd-97826c0d9de9"},"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/4c4c9ebb-e99d-4635-8402-9dab35dbe72d? 200 20ms","method":"GET","requestID":"4b98c8e0-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/signaling 200 18ms","method":"POST","requestID":"4b993e10-18eb-11ef-97dd-97826c0d9de9","responseTime":18,"status":200,"url":"/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dd42e3e8-3b28-4997-b710-e71382c93929? 200 20ms","method":"GET","requestID":"4b991700-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/dd42e3e8-3b28-4997-b710-e71382c93929?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5188bacf-1b0a-4f37-b619-8cc6c1e5a566#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5188bacf-1b0a-4f37-b619-8cc6c1e5a566","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"ebd3acdc-43c1-4974-a462-165972d8ef66","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.6688664} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7d86333-0b10-4292-94e1-5c7b3f928059","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.6689878} 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":"145bb46bf126ed50eda76ee37cebd919"},"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:60464","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5cf46886-c1c7-49cf-810c-32097296afd5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.6743917} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.632192,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:00: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.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"145bb46bf126ed50eda76ee37cebd919"} experiment-1 | {"level":"info","message":"POST /experiments? 201 132ms","method":"POST","requestID":"145bb46bf126ed50eda76ee37cebd919","responseTime":132,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","object_type":"device","rebac_allow":false,"scope_allow":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":"4b9c4b50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3fbed42-0cb3-4c80-8fca-4cab29d7e58f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.6773145} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.614895,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","object_type":"device","rebac_allow":false,"scope_allow":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":"4b9c9970-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6f0fea832307732bf56251de6c4b484b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dd42e3e8-3b28-4997-b710-e71382c93929/signaling 200 14ms","method":"POST","requestID":"4b9c4b50-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/dd42e3e8-3b28-4997-b710-e71382c93929/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/signaling 200 14ms","method":"POST","requestID":"4b9c9970-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708739,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458433,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f0fea832307732bf56251de6c4b484b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.476256450Z"}]},"request_id":"424060d6-ef55-4887-90ae-8138402b7b75","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.6918244} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dda3295b-bcc8-4ed0-8a01-9e99278e9e60","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.691863} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f0fea832307732bf56251de6c4b484b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.40369,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","object_type":"device","rebac_allow":false,"scope_allow":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":"4b9f0a70-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f0fea832307732bf56251de6c4b484b"} device-1 | {"level":"info","message":"GET /devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d? 200 15ms","method":"GET","requestID":"6f0fea832307732bf56251de6c4b484b","responseTime":15,"status":200,"url":"/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dd42e3e8-3b28-4997-b710-e71382c93929/signaling 200 13ms","method":"POST","requestID":"4b9f0a70-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/dd42e3e8-3b28-4997-b710-e71382c93929/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"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":"fff5e7cb-ec26-4fc3-9e67-d6daa71a2ff1"},{"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":"8862fa7a-7e68-49ba-9a11-271c6d04ade6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f8821bdd-1d3b-4fa9-a2b3-c2dc5162674a"}]},"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/dd42e3e8-3b28-4997-b710-e71382c93929"},{"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/4c4c9ebb-e99d-4635-8402-9dab35dbe72d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e98939b69e469d931e0d553004994bb9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.649703,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458433,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA"} 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":"4ba17b70-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734489,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458433,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzM30.i-HdRe6YW0PffXqkBw7UVpo9NZQ8YwoqoJ67jCgaNFA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e98939b69e469d931e0d553004994bb9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:31.527621360Z"}]},"request_id":"68f47323-d5b3-41cb-8c60-61311a56402e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.7119524} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e98939b69e469d931e0d553004994bb9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd42e3e8-3b28-4997-b710-e71382c93929? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e98939b69e469d931e0d553004994bb9"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"ed715471-7d17-4d26-a10e-c36d52452e81","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.7159946} device-1 | {"level":"info","message":"GET /devices/dd42e3e8-3b28-4997-b710-e71382c93929? 200 12ms","method":"GET","requestID":"e98939b69e469d931e0d553004994bb9","responseTime":12,"status":200,"url":"/devices/dd42e3e8-3b28-4997-b710-e71382c93929?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30745353-4846-44c1-9b7d-f7229781d1b7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.7163522} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ba17b70-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28'"} 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 23ms","method":"POST","requestID":"4ba17b70-18eb-11ef-97dd-97826c0d9de9","responseTime":23,"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/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfbe044c-8591-4992-896c-400ee75a6551","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.7603693} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.484227,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","object_type":"device","rebac_allow":false,"scope_allow":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":"4ba91c90-18eb-11ef-97dd-97826c0d9de9"},"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/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/signaling 200 14ms","method":"POST","requestID":"4ba91c90-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94edf2e7-b37f-4c36-b05f-64182b6d1fb5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458433.7738845} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.375867,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","object_type":"device","rebac_allow":false,"scope_allow":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":"4bab8d90-18eb-11ef-97dd-97826c0d9de9"},"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/dd42e3e8-3b28-4997-b710-e71382c93929/signaling 200 9ms","method":"POST","requestID":"4bab8d90-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/dd42e3e8-3b28-4997-b710-e71382c93929/signaling"} device-1 | {"data":{"peerconnection":"9e9c381f-da97-468a-bffa-6c83474a5a28","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/9e9c381f-da97-468a-bffa-6c83474a5a28' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9e9c381f-da97-468a-bffa-6c83474a5a28","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":"810f50df741ba3d85c1e7973ec2908e4","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929"},{"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/4c4c9ebb-e99d-4635-8402-9dab35dbe72d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929'"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"810f50df741ba3d85c1e7973ec2908e4","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"810f50df741ba3d85c1e7973ec2908e4"} device-1 | {"data":{"peerconnection":"9e9c381f-da97-468a-bffa-6c83474a5a28","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9e9c381f-da97-468a-bffa-6c83474a5a28","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/9e9c381f-da97-468a-bffa-6c83474a5a28' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9e9c381f-da97-468a-bffa-6c83474a5a28","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":"a22249718709c5c067a981d933ab8c31","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/dd42e3e8-3b28-4997-b710-e71382c93929"},{"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/4c4c9ebb-e99d-4635-8402-9dab35dbe72d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:35Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9e9c381f-da97-468a-bffa-6c83474a5a28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ad121fe-ec10-4798-b611-99cd78d81ef3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458435.8462684} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.168611,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28","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":"4ce7de20-18eb-11ef-97dd-97826c0d9de9"},"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/9e9c381f-da97-468a-bffa-6c83474a5a28 200 8ms","method":"GET","requestID":"4ce7de20-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"a22249718709c5c067a981d933ab8c31","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"a22249718709c5c067a981d933ab8c31"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:35Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ddbd8b9c-44dc-494b-ba1d-8a8cb780d58f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458435.8700705} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.162344,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","object_type":"device","rebac_allow":false,"scope_allow":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":"4ceb6090-18eb-11ef-97dd-97826c0d9de9"},"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/dd42e3e8-3b28-4997-b710-e71382c93929/signaling 200 9ms","method":"POST","requestID":"4ceb6090-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/dd42e3e8-3b28-4997-b710-e71382c93929/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:35Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab68136b-ec46-4cb7-b2d4-415574d344e1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458435.8799639} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.127883,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","object_type":"device","rebac_allow":false,"scope_allow":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":"4ced0e40-18eb-11ef-97dd-97826c0d9de9"},"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/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/signaling 200 8ms","method":"POST","requestID":"4ced0e40-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNX0.LqQ1p7exn9_SBRWQxIxgYyhIh3cVZgFi_hbs7z0ehEM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a1261bb0ac3e608973ff130dc82176a9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:35Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.679064,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458435,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNX0.LqQ1p7exn9_SBRWQxIxgYyhIh3cVZgFi_hbs7z0ehEM"} 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":"a1261bb0ac3e608973ff130dc82176a9"},"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/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"} gateway-1 | {"time_local":"23/May/2024:10:00:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1261bb0ac3e608973ff130dc82176a9"} experiment-1 | {"level":"info","message":"GET /experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566 200 10ms","method":"GET","requestID":"a1261bb0ac3e608973ff130dc82176a9","responseTime":10,"status":200,"url":"/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNX0.LqQ1p7exn9_SBRWQxIxgYyhIh3cVZgFi_hbs7z0ehEM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"25759478cff7776fa2e32e261a6b0cad","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:35Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.832272,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:35Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Attempting to finish experiment"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458435,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNX0.LqQ1p7exn9_SBRWQxIxgYyhIh3cVZgFi_hbs7z0ehEM"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId 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":"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":"25759478cff7776fa2e32e261a6b0cad"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:35Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.515088,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458435,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNX0.LqQ1p7exn9_SBRWQxIxgYyhIh3cVZgFi_hbs7z0ehEM"} 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":"4cf8f520-18eb-11ef-97dd-97826c0d9de9"},"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/9e9c381f-da97-468a-bffa-6c83474a5a28' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9e9c381f-da97-468a-bffa-6c83474a5a28","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9e9c381f-da97-468a-bffa-6c83474a5a28': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9e9c381f-da97-468a-bffa-6c83474a5a28","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"c43e7704-3db3-4f80-9f80-49988f7862a4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458435.9709039} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5129adb4-ee8b-48e3-abc7-b39c01ba62fe","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458435.9713073} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fa5b0f3d5155b55340d54b792c10057d","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":"4cf8f520-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} 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/dd42e3e8-3b28-4997-b710-e71382c93929"},{"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/4c4c9ebb-e99d-4635-8402-9dab35dbe72d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8446b6bd4c4d83c2b9900b8afc8df8c2","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929"},{"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/4c4c9ebb-e99d-4635-8402-9dab35dbe72d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"9e9c381f-da97-468a-bffa-6c83474a5a28","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/9e9c381f-da97-468a-bffa-6c83474a5a28 204 38ms","method":"DELETE","requestID":"4cf8f520-18eb-11ef-97dd-97826c0d9de9","responseTime":38,"status":204,"url":"/peerconnections/9e9c381f-da97-468a-bffa-6c83474a5a28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd42e3e8-3b28-4997-b710-e71382c93929","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe50cdb4-07b1-4405-b411-84521da971b7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.0111887} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.598898,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd42e3e8-3b28-4997-b710-e71382c93929","object_type":"device","rebac_allow":false,"scope_allow":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":"4d00e460-18eb-11ef-97dd-97826c0d9de9"},"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/dd42e3e8-3b28-4997-b710-e71382c93929/signaling 200 9ms","method":"POST","requestID":"4d00e460-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/dd42e3e8-3b28-4997-b710-e71382c93929/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5188bacf-1b0a-4f37-b619-8cc6c1e5a566': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5188bacf-1b0a-4f37-b619-8cc6c1e5a566","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"e033e37d-6a7e-4e0e-bd36-6056eebc0c2d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.0211284} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4c9ebb-e99d-4635-8402-9dab35dbe72d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dbe14344-bdca-45b9-a424-147f994ad6d3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.0212543} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20924550-401e-446c-b3c1-8c8e5a33eb56","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.0213914} 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":"25759478cff7776fa2e32e261a6b0cad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.590102,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d","object_type":"device","rebac_allow":false,"scope_allow":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":"4d029210-18eb-11ef-97dd-97826c0d9de9"},"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/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/signaling 200 9ms","method":"POST","requestID":"4d029210-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25759478cff7776fa2e32e261a6b0cad"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2839","request_time":"3.950","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"176f1cd03b2835b62c591be617123210"} experiment-1 | {"level":"info","message":"DELETE /experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566 204 126ms","method":"DELETE","requestID":"25759478cff7776fa2e32e261a6b0cad","responseTime":126,"status":204,"url":"/experiments/5188bacf-1b0a-4f37-b619-8cc6c1e5a566"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 99ms","method":"POST","requestID":"fa5b0f3d5155b55340d54b792c10057d","responseTime":99,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.103","http_referrer":"","http_user_agent":"node-fetch","requestID":"fa5b0f3d5155b55340d54b792c10057d"} gateway-1 | {"time_local":"23/May/2024:10:00: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.104","http_referrer":"","http_user_agent":"node-fetch","requestID":"8446b6bd4c4d83c2b9900b8afc8df8c2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"8446b6bd4c4d83c2b9900b8afc8df8c2","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.586","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2c16a56d29cf8589586fec5899699d54"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"82eb1ba110f187e6b08e50fe5c7801d7","responseTime":9,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4c4c9ebb-e99d-4635-8402-9dab35dbe72d' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.775604,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} 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":"82eb1ba110f187e6b08e50fe5c7801d7"},"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/dd42e3e8-3b28-4997-b710-e71382c93929' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"26078a06-6557-4d42-a19f-912d1436e6e1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.1048436} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82eb1ba110f187e6b08e50fe5c7801d7"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"379f9f08-c847-42bc-b3c0-37845176a6ca","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.1109169} 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":"82eb1ba110f187e6b08e50fe5c7801d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"a253a659-bc8e-46b6-918f-1e97d7481838","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.122983} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edf71fa8-c4bb-4364-8cef-bab135a794af","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.1231947} 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":"82eb1ba110f187e6b08e50fe5c7801d7"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.122954981Z"}]},"request_id":"66336611-f74a-4d92-82b4-5cf7d35064d5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.127885} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82eb1ba110f187e6b08e50fe5c7801d7"},"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 46ms","method":"POST","requestID":"82eb1ba110f187e6b08e50fe5c7801d7","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"82eb1ba110f187e6b08e50fe5c7801d7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"40c5a4781231bcfc0c1a16f30eed72bf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.780078,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} 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":"40c5a4781231bcfc0c1a16f30eed72bf"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ab55fd3b-871f-414e-92c7-d2f52036919b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.1529288} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40c5a4781231bcfc0c1a16f30eed72bf"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1de5b85-7337-47ca-9696-a74e3bf7e843","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.1578314} 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":"40c5a4781231bcfc0c1a16f30eed72bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"f740eceb-8f95-4097-864b-d5e2062bef1c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.1667647} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd5f92a3-ce51-46f5-8af5-a01bd64564fe","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.16711} 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":"40c5a4781231bcfc0c1a16f30eed72bf"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.166744127Z"}]},"request_id":"ba35dab1-9979-431f-ba82-d4390a3a9a14","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.171252} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40c5a4781231bcfc0c1a16f30eed72bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40c5a4781231bcfc0c1a16f30eed72bf"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"40c5a4781231bcfc0c1a16f30eed72bf","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"827744af2dc1f4b032d849be68906d57","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641669,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} 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":"827744af2dc1f4b032d849be68906d57"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.166744127Z"}]},"request_id":"c71cc4a4-7f60-43b4-8a41-4bdeeb3d4489","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.6692903} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"827744af2dc1f4b032d849be68906d57"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bc5e434-acbb-4b96-8298-dc2a22608666","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.6739707} 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":"827744af2dc1f4b032d849be68906d57"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b9a3bb41a9686909e1c4e306a67417f3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983585,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9a3bb41a9686909e1c4e306a67417f3"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.166744127Z"}]},"request_id":"a450be70-d5fe-400a-8c42-60101bb28286","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.7016604} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"827744af2dc1f4b032d849be68906d57"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"827744af2dc1f4b032d849be68906d57"} device-1 | {"level":"info","message":"PATCH /devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8 200 43ms","method":"PATCH","requestID":"827744af2dc1f4b032d849be68906d57","responseTime":43,"status":200,"url":"/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.122954981Z"}]},"request_id":"68e53d6c-74a9-4f99-93a2-6615513c15e3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.7043064} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9a3bb41a9686909e1c4e306a67417f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e16170dfbea2b3919df67493dce1ea3f","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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0fbce131-201c-43fc-b558-0b6c3a2f6499","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.7096016} 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":"b9a3bb41a9686909e1c4e306a67417f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623817,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} 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":"e16170dfbea2b3919df67493dce1ea3f"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.122954981Z"}]},"request_id":"1f5192d5-52f4-43a7-930c-dd3b4604a48c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.724636} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9a3bb41a9686909e1c4e306a67417f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a77efaf7-95f0-463f-8857-9778c049c7a8 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b9a3bb41a9686909e1c4e306a67417f3"} device-1 | {"level":"info","message":"PATCH /devices/a77efaf7-95f0-463f-8857-9778c049c7a8 200 32ms","method":"PATCH","requestID":"b9a3bb41a9686909e1c4e306a67417f3","responseTime":32,"status":200,"url":"/devices/a77efaf7-95f0-463f-8857-9778c049c7a8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"92f596a90582b5fa2649418967d87946","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e16170dfbea2b3919df67493dce1ea3f"} device-1 | {"level":"info","message":"POST /devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8/websocket 200 25ms","method":"POST","requestID":"e16170dfbea2b3919df67493dce1ea3f","responseTime":25,"status":200,"url":"/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8/websocket"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687389,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92f596a90582b5fa2649418967d87946"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a77efaf7-95f0-463f-8857-9778c049c7a8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.013","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"92f596a90582b5fa2649418967d87946"} device-1 | {"level":"info","message":"POST /devices/a77efaf7-95f0-463f-8857-9778c049c7a8/websocket 200 9ms","method":"POST","requestID":"92f596a90582b5fa2649418967d87946","responseTime":9,"status":200,"url":"/devices/a77efaf7-95f0-463f-8857-9778c049c7a8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ef89c1241d157399089e6767ecf97d2d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65493,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef89c1241d157399089e6767ecf97d2d"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.122954981Z"}]},"request_id":"f3f23c15-25db-4649-9034-d2c418fb060f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.765284} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef89c1241d157399089e6767ecf97d2d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a77efaf7-95f0-463f-8857-9778c049c7a8? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef89c1241d157399089e6767ecf97d2d"} device-1 | {"level":"info","message":"GET /devices/a77efaf7-95f0-463f-8857-9778c049c7a8? 200 10ms","method":"GET","requestID":"ef89c1241d157399089e6767ecf97d2d","responseTime":10,"status":200,"url":"/devices/a77efaf7-95f0-463f-8857-9778c049c7a8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bd3c17348f8445f21e4c8525d62793e7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684101,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} 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":"bd3c17348f8445f21e4c8525d62793e7"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.166744127Z"}]},"request_id":"df008839-6df4-484e-8090-c85a405ff6d2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.779864} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd3c17348f8445f21e4c8525d62793e7"},"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/e49910c0-d3ec-499b-9d7c-b7011facc0b8? 200 11ms","method":"GET","requestID":"bd3c17348f8445f21e4c8525d62793e7","responseTime":11,"status":200,"url":"/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8?"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd3c17348f8445f21e4c8525d62793e7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e7c148d32ff6e924e035ff36faf1909","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:60464","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.67053,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} 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":"2e7c148d32ff6e924e035ff36faf1909"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"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:60464","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697244,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d7c55f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.584288,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d7ca410-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.122954981Z"}]},"request_id":"09709a8c-7ef8-4c49-acb5-e920623c3cff","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.8245056} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d7c55f0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.166744127Z"}]},"request_id":"53741f7e-f249-40c0-b9da-0e2f3d52cfdf","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.826093} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d7ca410-18eb-11ef-97dd-97826c0d9de9"},"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/a77efaf7-95f0-463f-8857-9778c049c7a8? 200 16ms","method":"GET","requestID":"4d7c55f0-18eb-11ef-97dd-97826c0d9de9","responseTime":16,"status":200,"url":"/devices/a77efaf7-95f0-463f-8857-9778c049c7a8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8? 200 15ms","method":"GET","requestID":"4d7ca410-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"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/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768608,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d844530-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.645835,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} 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":"4d849350-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.122954981Z"}]},"request_id":"2aa703e0-4873-45d6-81ca-ddf1f2488d6b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.8805654} 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":"4d844530-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.166744127Z"}]},"request_id":"5886d535-e687-436f-b0ac-493a381f2a24","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.8838613} 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":"4d849350-18eb-11ef-97dd-97826c0d9de9"},"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:38906","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e426052-f2d3-4630-8c7d-cc2f7dd10685","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.8885586} authorization-1 | {"client_addr":"127.0.0.1:38906","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.491735,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a77efaf7-95f0-463f-8857-9778c049c7a8? 200 25ms","method":"GET","requestID":"4d844530-18eb-11ef-97dd-97826c0d9de9","responseTime":25,"status":200,"url":"/devices/a77efaf7-95f0-463f-8857-9778c049c7a8?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d84ba60-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8? 200 27ms","method":"GET","requestID":"4d849350-18eb-11ef-97dd-97826c0d9de9","responseTime":27,"status":200,"url":"/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"945074bc-0aac-458a-b9b7-6c4803c7f21c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.8961954} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5658145e-a8d8-45a4-96b8-6fc80960c72e#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5658145e-a8d8-45a4-96b8-6fc80960c72e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"8a590cc3-c732-4ab3-acaa-852d52aa6a9f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.896901} device-1 | {"level":"info","message":"POST /devices/a77efaf7-95f0-463f-8857-9778c049c7a8/signaling 200 28ms","method":"POST","requestID":"4d84ba60-18eb-11ef-97dd-97826c0d9de9","responseTime":28,"status":200,"url":"/devices/a77efaf7-95f0-463f-8857-9778c049c7a8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e7c148d32ff6e924e035ff36faf1909"},"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:60464","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2ceed0f-4024-47cf-b7b5-0b2294daf093","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.904246} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.823148,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d892730-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d0c6112-e492-453f-974b-4171b372aa3f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.905619} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.983382,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","object_type":"device","rebac_allow":false,"scope_allow":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":"4d897550-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e7c148d32ff6e924e035ff36faf1909"} experiment-1 | {"level":"info","message":"POST /experiments? 201 123ms","method":"POST","requestID":"2e7c148d32ff6e924e035ff36faf1909","responseTime":123,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a77efaf7-95f0-463f-8857-9778c049c7a8/signaling 200 12ms","method":"POST","requestID":"4d892730-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/a77efaf7-95f0-463f-8857-9778c049c7a8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8/signaling 200 13ms","method":"POST","requestID":"4d897550-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cf84b5b05a734c865ed3b85ca2a3993a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a76f538-5e49-4496-b99e-edbdf522fe0a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.920196} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.837355,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678912,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","object_type":"device","rebac_allow":false,"scope_allow":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":"4d8b7120-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf84b5b05a734c865ed3b85ca2a3993a"},"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/e49910c0-d3ec-499b-9d7c-b7011facc0b8/signaling 200 12ms","method":"POST","requestID":"4d8b7120-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.122954981Z"}]},"request_id":"e7b19c98-0fad-4a8e-8233-e5489257b8da","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.9267144} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"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":"a1cad8d3-89a4-4236-a8f5-1818988de145"},{"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":"5160a6c6-8984-4885-8ba5-c27bf6bba548"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e7ee8877-96b0-466e-902d-3828684ccf1a"}]},"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/a77efaf7-95f0-463f-8857-9778c049c7a8"},{"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/e49910c0-d3ec-499b-9d7c-b7011facc0b8"}],"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":"cf84b5b05a734c865ed3b85ca2a3993a"},"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:60464","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a77efaf7-95f0-463f-8857-9778c049c7a8? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf84b5b05a734c865ed3b85ca2a3993a"} device-1 | {"level":"info","message":"GET /devices/a77efaf7-95f0-463f-8857-9778c049c7a8? 200 15ms","method":"GET","requestID":"cf84b5b05a734c865ed3b85ca2a3993a","responseTime":15,"status":200,"url":"/devices/a77efaf7-95f0-463f-8857-9778c049c7a8?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.775208,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} 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":"4d8dbb10-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fe62b38990233b457112e48bc05ada8a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.988914,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458436,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzNn0.N8_PYhzlVzQRVwi3_8y1lE4lhj4YYcZ7tVkgosAKMG0"} 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":"fe62b38990233b457112e48bc05ada8a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"01f01268-dbaa-4897-b7d9-c44ab3e7d234","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.9483416} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e1874a5-18ee-4578-886c-63020064e7d7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.94851} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:36.166744127Z"}]},"request_id":"fe29100e-788b-45d8-b8bd-4f6a52c6bf1a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458436.9502985} 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":"4d8dbb10-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe62b38990233b457112e48bc05ada8a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe62b38990233b457112e48bc05ada8a"} device-1 | {"level":"info","message":"GET /devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8? 200 18ms","method":"GET","requestID":"fe62b38990233b457112e48bc05ada8a","responseTime":18,"status":200,"url":"/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8?"} 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/9a6aef76-7a42-41ca-8910-111f4b26dece'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 53ms","method":"POST","requestID":"4d8dbb10-18eb-11ef-97dd-97826c0d9de9","responseTime":53,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:37Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01b5bf6b-49bc-45c8-bcb2-7335988af658","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458437.0129557} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.956076,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d99c900-18eb-11ef-97dd-97826c0d9de9"},"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/a77efaf7-95f0-463f-8857-9778c049c7a8/signaling 200 9ms","method":"POST","requestID":"4d99c900-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/a77efaf7-95f0-463f-8857-9778c049c7a8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:37Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03d6b30b-e9c2-4796-8e12-7004254e62b0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458437.0229099} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.099457,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","object_type":"device","rebac_allow":false,"scope_allow":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":"4d9b76b0-18eb-11ef-97dd-97826c0d9de9"},"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/e49910c0-d3ec-499b-9d7c-b7011facc0b8/signaling 200 8ms","method":"POST","requestID":"4d9b76b0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8/signaling"} device-1 | {"data":{"peerconnection":"9a6aef76-7a42-41ca-8910-111f4b26dece","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9a6aef76-7a42-41ca-8910-111f4b26dece","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/9a6aef76-7a42-41ca-8910-111f4b26dece' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9a6aef76-7a42-41ca-8910-111f4b26dece","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":"079b7ead1c48905346752d949bf91110","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/a77efaf7-95f0-463f-8857-9778c049c7a8"},{"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/e49910c0-d3ec-499b-9d7c-b7011facc0b8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"079b7ead1c48905346752d949bf91110","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"079b7ead1c48905346752d949bf91110"} device-1 | {"data":{"peerconnection":"9a6aef76-7a42-41ca-8910-111f4b26dece","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9a6aef76-7a42-41ca-8910-111f4b26dece","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/9a6aef76-7a42-41ca-8910-111f4b26dece' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9a6aef76-7a42-41ca-8910-111f4b26dece","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":"02982f2477d811160334060fc8b552b5","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/a77efaf7-95f0-463f-8857-9778c049c7a8"},{"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/e49910c0-d3ec-499b-9d7c-b7011facc0b8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9a6aef76-7a42-41ca-8910-111f4b26dece","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0e304fa-eb3a-4e9c-8746-22a3d582fb5e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.140495} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.165755,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece","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":"4ede7e00-18eb-11ef-97dd-97826c0d9de9"},"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/9a6aef76-7a42-41ca-8910-111f4b26dece 200 9ms","method":"GET","requestID":"4ede7e00-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzOX0.idxLViY2Itw0SOrNw8jbkosJtjtQ0EZclAY4rO6Acow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7f42b6a9d6e491eeb31b011bcf64f482","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.896951,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458439,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzOX0.idxLViY2Itw0SOrNw8jbkosJtjtQ0EZclAY4rO6Acow"} 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":"7f42b6a9d6e491eeb31b011bcf64f482"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"02982f2477d811160334060fc8b552b5","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"02982f2477d811160334060fc8b552b5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:39Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"} gateway-1 | {"time_local":"23/May/2024:10:00:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f42b6a9d6e491eeb31b011bcf64f482"} experiment-1 | {"level":"info","message":"GET /experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e 200 21ms","method":"GET","requestID":"7f42b6a9d6e491eeb31b011bcf64f482","responseTime":21,"status":200,"url":"/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3cc1189-7a5c-46ed-861d-ea1d82bb956d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.1863139} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.464751,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ee582e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzOX0.idxLViY2Itw0SOrNw8jbkosJtjtQ0EZclAY4rO6Acow","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a77efaf7-95f0-463f-8857-9778c049c7a8/signaling 200 9ms","method":"POST","requestID":"4ee582e0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/a77efaf7-95f0-463f-8857-9778c049c7a8/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5a3a063a148dfb4a2d8e265884891675","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3429e643-b5ae-420d-8b3d-8dd1f6bb9c73","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.197358} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.73168,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458439,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzOX0.idxLViY2Itw0SOrNw8jbkosJtjtQ0EZclAY4rO6Acow"} 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":"5a3a063a148dfb4a2d8e265884891675"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.10605,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","object_type":"device","rebac_allow":false,"scope_allow":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":"4ee73090-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"POST /devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8/signaling 200 12ms","method":"POST","requestID":"4ee73090-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8/signaling"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.750315,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458439,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzOX0.idxLViY2Itw0SOrNw8jbkosJtjtQ0EZclAY4rO6Acow"} 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":"4ee92c60-18eb-11ef-97dd-97826c0d9de9"},"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/9a6aef76-7a42-41ca-8910-111f4b26dece' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9a6aef76-7a42-41ca-8910-111f4b26dece","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":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9a6aef76-7a42-41ca-8910-111f4b26dece': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9a6aef76-7a42-41ca-8910-111f4b26dece","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"338f011c-be96-4764-a27d-d6f55c421086","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.2205827} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4db8128912ee38a46eebb094ad3b87eb","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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"260755b0-4fba-431a-bdc9-2c484e58a32c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.2209556} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"eed57414140f39bbc50f992035a3bcf3","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8"},{"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/e49910c0-d3ec-499b-9d7c-b7011facc0b8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ee92c60-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8"},{"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/e49910c0-d3ec-499b-9d7c-b7011facc0b8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"9a6aef76-7a42-41ca-8910-111f4b26dece","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/9a6aef76-7a42-41ca-8910-111f4b26dece 204 69ms","method":"DELETE","requestID":"4ee92c60-18eb-11ef-97dd-97826c0d9de9","responseTime":69,"status":204,"url":"/peerconnections/9a6aef76-7a42-41ca-8910-111f4b26dece"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa77efaf7-95f0-463f-8857-9778c049c7a8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68c789ac-7f9d-4e4e-ba08-ae608fe959df","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.298313} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.071438,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a77efaf7-95f0-463f-8857-9778c049c7a8","object_type":"device","rebac_allow":false,"scope_allow":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":"4ef699e0-18eb-11ef-97dd-97826c0d9de9"},"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/a77efaf7-95f0-463f-8857-9778c049c7a8/signaling 200 8ms","method":"POST","requestID":"4ef699e0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/a77efaf7-95f0-463f-8857-9778c049c7a8/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5658145e-a8d8-45a4-96b8-6fc80960c72e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5658145e-a8d8-45a4-96b8-6fc80960c72e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"0e9b4624-4856-4f6b-a5dc-ade26cd5f555","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.3042588} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"763c1df8-56fd-42c5-a44d-2bd18f8c005d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.3044627} 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":"5a3a063a148dfb4a2d8e265884891675"},"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:60464","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe49910c0-d3ec-499b-9d7c-b7011facc0b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1eaa8987-fd4b-47b5-96ff-bfca32d41c2c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.3096652} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.988183,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ef84790-18eb-11ef-97dd-97826c0d9de9"},"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/e49910c0-d3ec-499b-9d7c-b7011facc0b8/signaling 200 9ms","method":"POST","requestID":"4ef84790-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/e49910c0-d3ec-499b-9d7c-b7011facc0b8/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"} gateway-1 | {"time_local":"23/May/2024:10:00:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a3a063a148dfb4a2d8e265884891675"} gateway-1 | {"time_local":"23/May/2024:10:00:39 +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.611","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"76f6c7011e81e082b69f31815c8446fa"} gateway-1 | {"time_local":"23/May/2024:10:00:39 +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.618","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ed4fa51bb441d4b600781c4fa0b48b97"} experiment-1 | {"level":"info","message":"DELETE /experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e 204 162ms","method":"DELETE","requestID":"5a3a063a148dfb4a2d8e265884891675","responseTime":162,"status":204,"url":"/experiments/5658145e-a8d8-45a4-96b8-6fc80960c72e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"4db8128912ee38a46eebb094ad3b87eb","responseTime":137,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzOX0.idxLViY2Itw0SOrNw8jbkosJtjtQ0EZclAY4rO6Acow","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"23/May/2024:10:00:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"4db8128912ee38a46eebb094ad3b87eb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"83359ac213e009c6cf3533c2b59143de","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/a77efaf7-95f0-463f-8857-9778c049c7a8' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"eed57414140f39bbc50f992035a3bcf3","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"eed57414140f39bbc50f992035a3bcf3"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.836163,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458439,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzOX0.idxLViY2Itw0SOrNw8jbkosJtjtQ0EZclAY4rO6Acow"} 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":"83359ac213e009c6cf3533c2b59143de"},"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/e49910c0-d3ec-499b-9d7c-b7011facc0b8' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f5862c6d-22f9-4aff-b233-aa6d32a239ef","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.383411} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83359ac213e009c6cf3533c2b59143de"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6050b32d-37c2-48ab-849d-3132290c4e80","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.389522} 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":"83359ac213e009c6cf3533c2b59143de"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"c4a116ae-2168-4761-a295-a625d0889222","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.399664} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d12bbb23-d0c6-4474-a99a-e1f2d18eb448","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.399895} 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":"83359ac213e009c6cf3533c2b59143de"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.399634196Z"}]},"request_id":"66e95ca6-0021-4ac2-abb4-a6c63ae525f9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.4049385} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83359ac213e009c6cf3533c2b59143de"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83359ac213e009c6cf3533c2b59143de"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"83359ac213e009c6cf3533c2b59143de","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzOX0.idxLViY2Itw0SOrNw8jbkosJtjtQ0EZclAY4rO6Acow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cd5d48c34954c5109f28f3a7942209ac","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.807076,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458439,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzOX0.idxLViY2Itw0SOrNw8jbkosJtjtQ0EZclAY4rO6Acow"} 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":"cd5d48c34954c5109f28f3a7942209ac"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"039c0a9f-fcd0-49a5-884b-6e4bd111ade1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.4320407} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd5d48c34954c5109f28f3a7942209ac"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f29ad0b7-a6f8-47d4-a592-95e41492e3f4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.4379888} 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":"cd5d48c34954c5109f28f3a7942209ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"7c9ac213-a856-4fdb-8dc9-c9251509efb1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.4520805} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f81c63fe-763f-46e0-9ff9-4aae5fbc7391","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.4524167} 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":"cd5d48c34954c5109f28f3a7942209ac"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.452045526Z"}]},"request_id":"f751ea76-074e-4671-a36a-c2667a8153bc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.45912} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd5d48c34954c5109f28f3a7942209ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd5d48c34954c5109f28f3a7942209ac"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"cd5d48c34954c5109f28f3a7942209ac","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzOX0.idxLViY2Itw0SOrNw8jbkosJtjtQ0EZclAY4rO6Acow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ecdd5088258027072acee43dfd0aa0c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664313,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458439,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQzOX0.idxLViY2Itw0SOrNw8jbkosJtjtQ0EZclAY4rO6Acow"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ecdd5088258027072acee43dfd0aa0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.399634196Z"}]},"request_id":"14ad7d85-b4ec-4158-b014-782e4502aec3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458439.9959455} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ecdd5088258027072acee43dfd0aa0c"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2fb20914-77d4-4a2c-af7b-ad478429d5e9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.0007734} 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":"7ecdd5088258027072acee43dfd0aa0c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.399634196Z"}]},"request_id":"610703ab-d2bb-4458-ae92-7abcde22ccd5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.0126474} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ecdd5088258027072acee43dfd0aa0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/faf90f91-270c-4c7a-b587-12cd84214587 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7ecdd5088258027072acee43dfd0aa0c"} device-1 | {"level":"info","message":"PATCH /devices/faf90f91-270c-4c7a-b587-12cd84214587 200 29ms","method":"PATCH","requestID":"7ecdd5088258027072acee43dfd0aa0c","responseTime":29,"status":200,"url":"/devices/faf90f91-270c-4c7a-b587-12cd84214587"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9e004f1eae1de9fdd25bae9856c5990d","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"eda77ad8dd05c7afb955246ad30af5ec","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684384,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e004f1eae1de9fdd25bae9856c5990d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65784,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eda77ad8dd05c7afb955246ad30af5ec"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.452045526Z"}]},"request_id":"950b9030-3561-4801-b96f-ec5327e1ea32","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.0331466} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e004f1eae1de9fdd25bae9856c5990d"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0225dc48-6139-4d51-9e8d-395fe748e720","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.0376854} 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":"9e004f1eae1de9fdd25bae9856c5990d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/faf90f91-270c-4c7a-b587-12cd84214587/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":"eda77ad8dd05c7afb955246ad30af5ec"} device-1 | {"level":"info","message":"POST /devices/faf90f91-270c-4c7a-b587-12cd84214587/websocket 200 18ms","method":"POST","requestID":"eda77ad8dd05c7afb955246ad30af5ec","responseTime":18,"status":200,"url":"/devices/faf90f91-270c-4c7a-b587-12cd84214587/websocket"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.452045526Z"}]},"request_id":"07690a7d-c148-4855-901b-21f27bce41cb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.0563903} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e004f1eae1de9fdd25bae9856c5990d"},"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/c16a5df6-75af-4ce0-a865-e6f805c811bd 200 37ms","method":"PATCH","requestID":"9e004f1eae1de9fdd25bae9856c5990d","responseTime":37,"status":200,"url":"/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd"} gateway-1 | {"time_local":"23/May/2024:10:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c16a5df6-75af-4ce0-a865-e6f805c811bd HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9e004f1eae1de9fdd25bae9856c5990d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"74e199d57f21f1c43d42cc65fc0145f1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"device 'http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587' connected"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673139,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74e199d57f21f1c43d42cc65fc0145f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c16a5df6-75af-4ce0-a865-e6f805c811bd/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":"74e199d57f21f1c43d42cc65fc0145f1"} device-1 | {"level":"info","message":"POST /devices/c16a5df6-75af-4ce0-a865-e6f805c811bd/websocket 200 14ms","method":"POST","requestID":"74e199d57f21f1c43d42cc65fc0145f1","responseTime":14,"status":200,"url":"/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4586036d393e83937e383ae12d9637f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667614,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4586036d393e83937e383ae12d9637f"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.399634196Z"}]},"request_id":"a43e7d1a-f6f8-4406-aeaf-c29f8c78b16d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.1013563} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4586036d393e83937e383ae12d9637f"},"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/faf90f91-270c-4c7a-b587-12cd84214587? 200 12ms","method":"GET","requestID":"e4586036d393e83937e383ae12d9637f","responseTime":12,"status":200,"url":"/devices/faf90f91-270c-4c7a-b587-12cd84214587?"} gateway-1 | {"time_local":"23/May/2024:10:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/faf90f91-270c-4c7a-b587-12cd84214587? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4586036d393e83937e383ae12d9637f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9352177bc4e49c2dac9738df98a192e9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655111,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} 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":"9352177bc4e49c2dac9738df98a192e9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.452045526Z"}]},"request_id":"30a2935d-d7a3-4ae3-a30e-6147d840332b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.117494} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9352177bc4e49c2dac9738df98a192e9"},"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/c16a5df6-75af-4ce0-a865-e6f805c811bd? 200 10ms","method":"GET","requestID":"9352177bc4e49c2dac9738df98a192e9","responseTime":10,"status":200,"url":"/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd?"} gateway-1 | {"time_local":"23/May/2024:10:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c16a5df6-75af-4ce0-a865-e6f805c811bd? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9352177bc4e49c2dac9738df98a192e9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bd0783941c18254fff9920b7ca062f9b","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:60464","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.882595,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} 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":"bd0783941c18254fff9920b7ca062f9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"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:60464","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935966,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f7a48d0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779161,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f7a6fe0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.399634196Z"}]},"request_id":"50cd33e8-8d08-4b36-b74f-ef5a5325337f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.1664958} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f7a48d0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.452045526Z"}]},"request_id":"2ccefc07-c0a8-46f6-8138-92764bc22e02","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.1678884} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f7a6fe0-18eb-11ef-97dd-97826c0d9de9"},"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/faf90f91-270c-4c7a-b587-12cd84214587? 200 15ms","method":"GET","requestID":"4f7a48d0-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/faf90f91-270c-4c7a-b587-12cd84214587?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c16a5df6-75af-4ce0-a865-e6f805c811bd? 200 14ms","method":"GET","requestID":"4f7a6fe0-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"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/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974481,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f823810-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.582805,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} 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":"4f825f20-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.249902,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ef5dbba-d9f5-47df-a47d-482f63d2e777","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.2180226} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","object_type":"device","rebac_allow":false,"scope_allow":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":"4f828630-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.399634196Z"}]},"request_id":"379be8ae-2416-4fed-a454-859e73398abb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.2196162} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.452045526Z"}]},"request_id":"eef0559a-2dec-4f2d-ae51-f0b5dcceaadd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.2208705} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f823810-18eb-11ef-97dd-97826c0d9de9"},"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":"4f825f20-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/faf90f91-270c-4c7a-b587-12cd84214587/signaling 200 15ms","method":"POST","requestID":"4f828630-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/faf90f91-270c-4c7a-b587-12cd84214587/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/faf90f91-270c-4c7a-b587-12cd84214587? 200 18ms","method":"GET","requestID":"4f823810-18eb-11ef-97dd-97826c0d9de9","responseTime":18,"status":200,"url":"/devices/faf90f91-270c-4c7a-b587-12cd84214587?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c16a5df6-75af-4ce0-a865-e6f805c811bd? 200 18ms","method":"GET","requestID":"4f825f20-18eb-11ef-97dd-97826c0d9de9","responseTime":18,"status":200,"url":"/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b3ba4e5-5343-4d9d-a0b5-539501378a13#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b3ba4e5-5343-4d9d-a0b5-539501378a13","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"de313639-64ad-40f9-bbfb-85046f4cc31c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.231615} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"333c4541-599b-43f9-b32d-0007d719642d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.232023} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} 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":"bd0783941c18254fff9920b7ca062f9b"},"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:60464","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.517998,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"caa17d21-7e7e-4fd7-a0b6-cdbaad6e2c44","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.2344131} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","object_type":"device","rebac_allow":false,"scope_allow":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":"4f854550-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63c8b620-7182-4475-80c7-f8aa59ec5679","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.2384079} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.064055,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c16a5df6-75af-4ce0-a865-e6f805c811bd/signaling 200 12ms","method":"POST","requestID":"4f854550-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","object_type":"device","rebac_allow":false,"scope_allow":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":"4f859370-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.122","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd0783941c18254fff9920b7ca062f9b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 118ms","method":"POST","requestID":"bd0783941c18254fff9920b7ca062f9b","responseTime":118,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/faf90f91-270c-4c7a-b587-12cd84214587/signaling 200 13ms","method":"POST","requestID":"4f859370-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/faf90f91-270c-4c7a-b587-12cd84214587/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9763f1ebea389215382d2f729cad92b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f642907e-4676-4c17-9cc0-0dc09b1d06b6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.2511232} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.834248,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","object_type":"device","rebac_allow":false,"scope_allow":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":"4f87dd60-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845908,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9763f1ebea389215382d2f729cad92b"},"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/c16a5df6-75af-4ce0-a865-e6f805c811bd/signaling 200 11ms","method":"POST","requestID":"4f87dd60-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.399634196Z"}]},"request_id":"71bc2a99-1289-4481-9d94-6acd9496cf47","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.2583647} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"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":"727c0ee2-d4fd-4b9c-b052-6d59ac054b81"},{"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":"711de5f5-8bda-427d-ad89-7d752c3ab8cb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"37985884-289e-4d88-9d65-fa9c88950cc4"}]},"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":"d9763f1ebea389215382d2f729cad92b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd"},{"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/faf90f91-270c-4c7a-b587-12cd84214587"}],"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:60464","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} gateway-1 | {"time_local":"23/May/2024:10:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/faf90f91-270c-4c7a-b587-12cd84214587? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9763f1ebea389215382d2f729cad92b"} device-1 | {"level":"info","message":"GET /devices/faf90f91-270c-4c7a-b587-12cd84214587? 200 13ms","method":"GET","requestID":"d9763f1ebea389215382d2f729cad92b","responseTime":13,"status":200,"url":"/devices/faf90f91-270c-4c7a-b587-12cd84214587?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.889581,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} 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":"4f8a2750-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6d83d4e0fe8d95d09291e7aacbbb3e60","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.654751,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458440,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0MH0.n8SRCVZjTrd5MQPPq7bQmFtyyUFBl0d8l_XqWwxoebU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d83d4e0fe8d95d09291e7aacbbb3e60"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"ac1646fe-93bd-4f4e-983d-df79f80fafd1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.2734523} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"215f3a4d-0bf6-445c-bd90-b320cfa452a6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.2738478} 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":"4f8a2750-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:39.452045526Z"}]},"request_id":"c1ed1896-e190-4d9d-b3ea-7acb87f9dd4c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.2780206} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d83d4e0fe8d95d09291e7aacbbb3e60"},"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/91c66b04-a8f7-4627-8241-348f7c0fbbb6'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"4f8a2750-18eb-11ef-97dd-97826c0d9de9","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c16a5df6-75af-4ce0-a865-e6f805c811bd? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d83d4e0fe8d95d09291e7aacbbb3e60"} device-1 | {"level":"info","message":"GET /devices/c16a5df6-75af-4ce0-a865-e6f805c811bd? 200 20ms","method":"GET","requestID":"6d83d4e0fe8d95d09291e7aacbbb3e60","responseTime":20,"status":200,"url":"/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"691bce42-75af-4a90-90c2-c164a80d59e3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.3239117} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.301892,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","object_type":"device","rebac_allow":false,"scope_allow":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":"4f9300f0-18eb-11ef-97dd-97826c0d9de9"},"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/faf90f91-270c-4c7a-b587-12cd84214587/signaling 200 9ms","method":"POST","requestID":"4f9300f0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/faf90f91-270c-4c7a-b587-12cd84214587/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"001c5658-2844-4676-8edf-542b7c7aef34","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458440.3340588} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.166455,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","object_type":"device","rebac_allow":false,"scope_allow":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":"4f94aea0-18eb-11ef-97dd-97826c0d9de9"},"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/c16a5df6-75af-4ce0-a865-e6f805c811bd/signaling 200 8ms","method":"POST","requestID":"4f94aea0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd/signaling"} device-1 | {"data":{"peerconnection":"91c66b04-a8f7-4627-8241-348f7c0fbbb6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"91c66b04-a8f7-4627-8241-348f7c0fbbb6","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/91c66b04-a8f7-4627-8241-348f7c0fbbb6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91c66b04-a8f7-4627-8241-348f7c0fbbb6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"c4ff19ed7552fdf9efad92fe13272a14","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd"},{"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/faf90f91-270c-4c7a-b587-12cd84214587"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"c4ff19ed7552fdf9efad92fe13272a14","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"c4ff19ed7552fdf9efad92fe13272a14"} device-1 | {"data":{"peerconnection":"91c66b04-a8f7-4627-8241-348f7c0fbbb6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"91c66b04-a8f7-4627-8241-348f7c0fbbb6","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/91c66b04-a8f7-4627-8241-348f7c0fbbb6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91c66b04-a8f7-4627-8241-348f7c0fbbb6","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":"96d8d688aa8f88183beab2af552ec040","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/c16a5df6-75af-4ce0-a865-e6f805c811bd"},{"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/faf90f91-270c-4c7a-b587-12cd84214587"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91c66b04-a8f7-4627-8241-348f7c0fbbb6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"11c4907a-f81d-4287-9ed2-cc41ea9730f1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.3880599} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.456985,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6","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":"50cdf1f0-18eb-11ef-97dd-97826c0d9de9"},"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/91c66b04-a8f7-4627-8241-348f7c0fbbb6 200 9ms","method":"GET","requestID":"50cdf1f0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"96d8d688aa8f88183beab2af552ec040","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"96d8d688aa8f88183beab2af552ec040"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d3d585d-be16-4be2-9c97-58541eb73368","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.4093947} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.168061,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50d14d50-18eb-11ef-97dd-97826c0d9de9"},"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/c16a5df6-75af-4ce0-a865-e6f805c811bd/signaling 200 11ms","method":"POST","requestID":"50d14d50-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8309b74-39d4-4dfc-9729-d74d477f0932","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.4218943} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.291373,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","object_type":"device","rebac_allow":false,"scope_allow":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":"50d32210-18eb-11ef-97dd-97826c0d9de9"},"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/faf90f91-270c-4c7a-b587-12cd84214587/signaling 200 8ms","method":"POST","requestID":"50d32210-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/faf90f91-270c-4c7a-b587-12cd84214587/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0Mn0.ARmSzxVamOP5G0YNdq_juhLHoLHnIJNg1IUqp81hcao","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"694315d8f01f20737f63cc89b17c3e42","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.668938,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458442,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0Mn0.ARmSzxVamOP5G0YNdq_juhLHoLHnIJNg1IUqp81hcao"} 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":"694315d8f01f20737f63cc89b17c3e42"},"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/2b3ba4e5-5343-4d9d-a0b5-539501378a13"} gateway-1 | {"time_local":"23/May/2024:10:00:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"694315d8f01f20737f63cc89b17c3e42"} experiment-1 | {"level":"info","message":"GET /experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13 200 9ms","method":"GET","requestID":"694315d8f01f20737f63cc89b17c3e42","responseTime":9,"status":200,"url":"/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0Mn0.ARmSzxVamOP5G0YNdq_juhLHoLHnIJNg1IUqp81hcao","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc896280d202d48887b254ce40bb5e27","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.662042,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458442,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0Mn0.ARmSzxVamOP5G0YNdq_juhLHoLHnIJNg1IUqp81hcao"} 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":"dc896280d202d48887b254ce40bb5e27"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.759809,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458442,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0Mn0.ARmSzxVamOP5G0YNdq_juhLHoLHnIJNg1IUqp81hcao"} 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":"50dff350-18eb-11ef-97dd-97826c0d9de9"},"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/91c66b04-a8f7-4627-8241-348f7c0fbbb6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91c66b04-a8f7-4627-8241-348f7c0fbbb6","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":"bcc5d3b713b1094be8b37e94e3d6f698","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3405e889c61341bf4163b567d22ff23b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd"},{"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/faf90f91-270c-4c7a-b587-12cd84214587"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91c66b04-a8f7-4627-8241-348f7c0fbbb6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91c66b04-a8f7-4627-8241-348f7c0fbbb6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"3616ab0c-7305-4683-9eaa-93b64d064b28","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.5158162} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f08a8b4-e304-44f9-8bc8-335c58674181","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.5162227} 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":"50dff350-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-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/c16a5df6-75af-4ce0-a865-e6f805c811bd"},{"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/faf90f91-270c-4c7a-b587-12cd84214587"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6 204 29ms","method":"DELETE","requestID":"50dff350-18eb-11ef-97dd-97826c0d9de9","responseTime":29,"status":204,"url":"/peerconnections/91c66b04-a8f7-4627-8241-348f7c0fbbb6"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc16a5df6-75af-4ce0-a865-e6f805c811bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd88356d-eeee-4421-9f01-d559c69e937f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.551251} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.267269,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd","object_type":"device","rebac_allow":false,"scope_allow":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":"50e6d120-18eb-11ef-97dd-97826c0d9de9"},"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/c16a5df6-75af-4ce0-a865-e6f805c811bd/signaling 200 9ms","method":"POST","requestID":"50e6d120-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/c16a5df6-75af-4ce0-a865-e6f805c811bd/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b3ba4e5-5343-4d9d-a0b5-539501378a13': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b3ba4e5-5343-4d9d-a0b5-539501378a13","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"460fa255-1af8-46ff-886e-ad4c543d0f27","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.5571492} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7dd82d2-8bc7-4e49-b22d-f9d8a394b8ed","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.5573518} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc896280d202d48887b254ce40bb5e27"},"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:60464","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf90f91-270c-4c7a-b587-12cd84214587","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"565e53ee-7013-42f3-9cfa-c25734c39e8a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.5624392} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.25323,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faf90f91-270c-4c7a-b587-12cd84214587","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50e8a5e0-18eb-11ef-97dd-97826c0d9de9"},"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/faf90f91-270c-4c7a-b587-12cd84214587/signaling 200 9ms","method":"POST","requestID":"50e8a5e0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/faf90f91-270c-4c7a-b587-12cd84214587/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"} gateway-1 | {"time_local":"23/May/2024:10:00:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13 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":"dc896280d202d48887b254ce40bb5e27"} experiment-1 | {"level":"info","message":"DELETE /experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13 204 120ms","method":"DELETE","requestID":"dc896280d202d48887b254ce40bb5e27","responseTime":120,"status":204,"url":"/experiments/2b3ba4e5-5343-4d9d-a0b5-539501378a13"} gateway-1 | {"time_local":"23/May/2024:10:00:42 +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.568","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"417dbdbe1d9725f96c6f836e2e6bf03e"} gateway-1 | {"time_local":"23/May/2024:10:00:42 +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.532","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4f5d2ee864b4150f84db2b87fb481826"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 95ms","method":"POST","requestID":"bcc5d3b713b1094be8b37e94e3d6f698","responseTime":95,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch","requestID":"bcc5d3b713b1094be8b37e94e3d6f698"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 94ms","method":"POST","requestID":"3405e889c61341bf4163b567d22ff23b","responseTime":94,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch","requestID":"3405e889c61341bf4163b567d22ff23b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0Mn0.ARmSzxVamOP5G0YNdq_juhLHoLHnIJNg1IUqp81hcao","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"58fcd5035cceceecf198913e263d11ce","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/c16a5df6-75af-4ce0-a865-e6f805c811bd' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.936493,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458442,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0Mn0.ARmSzxVamOP5G0YNdq_juhLHoLHnIJNg1IUqp81hcao"} 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":"58fcd5035cceceecf198913e263d11ce"},"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/faf90f91-270c-4c7a-b587-12cd84214587' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"84ab3dc7-e0f3-421a-8b45-35dba033f893","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.6399038} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58fcd5035cceceecf198913e263d11ce"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fdeef747-ff53-4702-8d8c-f396ad4bbd9f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.6454937} 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":"58fcd5035cceceecf198913e263d11ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"004c2df9-3814-4d68-993a-5b63ad34e3c9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.6557794} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c8f59be-a4d5-491f-8f22-f5ef309e89d2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.6559985} 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":"58fcd5035cceceecf198913e263d11ce"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:42.655740949Z"}]},"request_id":"ebe70b4e-7930-4ea2-bbc9-012a978efd6a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.6605058} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58fcd5035cceceecf198913e263d11ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58fcd5035cceceecf198913e263d11ce"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"58fcd5035cceceecf198913e263d11ce","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0Mn0.ARmSzxVamOP5G0YNdq_juhLHoLHnIJNg1IUqp81hcao","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3952b5790d9a458d3dd3c5ecba4a5016","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.935104,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458442,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0Mn0.ARmSzxVamOP5G0YNdq_juhLHoLHnIJNg1IUqp81hcao"} 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":"3952b5790d9a458d3dd3c5ecba4a5016"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5b86c0aa-a9b8-45c7-a06a-6cb515d26ac8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.6846132} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3952b5790d9a458d3dd3c5ecba4a5016"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bcd857fc-f12c-44d9-8d06-e2722d9eb0d6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.6907027} 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":"3952b5790d9a458d3dd3c5ecba4a5016"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"2a923b5a-8091-4ff8-bd05-f88d2f9b8191","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.7008197} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c414d32-d284-4a1d-8d32-a392178f8586","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.7011182} 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":"3952b5790d9a458d3dd3c5ecba4a5016"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:42.700788458Z"}]},"request_id":"5d3c2e0b-b9d5-4061-b7c1-1ff03b12452f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458442.7057037} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3952b5790d9a458d3dd3c5ecba4a5016"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3952b5790d9a458d3dd3c5ecba4a5016"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"3952b5790d9a458d3dd3c5ecba4a5016","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"68e0d77699a0bf40f8511341f4e66fea","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"68e0d77699a0bf40f8511341f4e66fea"} device-1 | {"level":"info","message":"OPTIONS /devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/websocket 200 0ms","method":"OPTIONS","requestID":"68e0d77699a0bf40f8511341f4e66fea","responseTime":0,"status":200,"url":"/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"368ceb58696fbf550b55d5770be9925c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890853,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"368ceb58696fbf550b55d5770be9925c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"b28b575a9487f1dda7c568f5e3af8648","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/eefec868-8d9c-471c-a062-35066da2e42d/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b28b575a9487f1dda7c568f5e3af8648"} device-1 | {"level":"info","message":"OPTIONS /devices/eefec868-8d9c-471c-a062-35066da2e42d/websocket 200 0ms","method":"OPTIONS","requestID":"b28b575a9487f1dda7c568f5e3af8648","responseTime":0,"status":200,"url":"/devices/eefec868-8d9c-471c-a062-35066da2e42d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3cfce317a7aa123ae3aa9e5c0bf3d375","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682837,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} 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":"3cfce317a7aa123ae3aa9e5c0bf3d375"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"368ceb58696fbf550b55d5770be9925c"} device-1 | {"level":"info","message":"POST /devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/websocket 200 32ms","method":"POST","requestID":"368ceb58696fbf550b55d5770be9925c","responseTime":32,"status":200,"url":"/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/eefec868-8d9c-471c-a062-35066da2e42d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3cfce317a7aa123ae3aa9e5c0bf3d375"} device-1 | {"level":"info","message":"POST /devices/eefec868-8d9c-471c-a062-35066da2e42d/websocket 200 21ms","method":"POST","requestID":"3cfce317a7aa123ae3aa9e5c0bf3d375","responseTime":21,"status":200,"url":"/devices/eefec868-8d9c-471c-a062-35066da2e42d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c8e0e641c121f02a488da99cf04dfc72","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720496,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8e0e641c121f02a488da99cf04dfc72"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:42.655740949Z"}]},"request_id":"5e0613ba-0eac-4bcf-8f47-b0d21e44a02b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.7176132} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8e0e641c121f02a488da99cf04dfc72"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8e0e641c121f02a488da99cf04dfc72"} device-1 | {"level":"info","message":"GET /devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba? 200 11ms","method":"GET","requestID":"c8e0e641c121f02a488da99cf04dfc72","responseTime":11,"status":200,"url":"/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6971f6589886dafe2d06decf795152bd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702787,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} 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":"6971f6589886dafe2d06decf795152bd"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:42.700788458Z"}]},"request_id":"d4233cad-e150-4e2b-84cf-62a9df0747ab","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.732669} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6971f6589886dafe2d06decf795152bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eefec868-8d9c-471c-a062-35066da2e42d? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6971f6589886dafe2d06decf795152bd"} device-1 | {"level":"info","message":"GET /devices/eefec868-8d9c-471c-a062-35066da2e42d? 200 9ms","method":"GET","requestID":"6971f6589886dafe2d06decf795152bd","responseTime":9,"status":200,"url":"/devices/eefec868-8d9c-471c-a062-35066da2e42d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"df85c6554ecaabba04b62a2fd4532a43","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:60464","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.667857,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} 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":"df85c6554ecaabba04b62a2fd4532a43"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"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:60464","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91714,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"523c9d20-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.716913,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"523ceb40-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:42.655740949Z"}]},"request_id":"3768869d-43b4-4f0f-b096-cf75fda1c61a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.7946954} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"523c9d20-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:42.700788458Z"}]},"request_id":"9012dc71-4f91-411d-b8a1-37774b9637c6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.7953146} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"523ceb40-18eb-11ef-97dd-97826c0d9de9"},"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/75a0260f-8f4e-4b32-bb58-366fa26a2cba? 200 13ms","method":"GET","requestID":"523c9d20-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/eefec868-8d9c-471c-a062-35066da2e42d? 200 12ms","method":"GET","requestID":"523ceb40-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/eefec868-8d9c-471c-a062-35066da2e42d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"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:60464","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.970279,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52441730-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.277097,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} 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":"52446550-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22d40610-b84d-4d47-a72a-49d60bae636f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.844597} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.402872,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5244b370-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:42.655740949Z"}]},"request_id":"b9b17192-1dbd-4653-a412-d2b1d885af67","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.8469176} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52441730-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"POST /devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/signaling 200 11ms","method":"POST","requestID":"5244b370-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:42.700788458Z"}]},"request_id":"3a171865-9dc5-42bc-8f0a-158ef29f3841","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.8496284} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52446550-18eb-11ef-97dd-97826c0d9de9"},"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 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb28b94b5-3f57-4a56-bbb5-4d20d7ceb96d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb28b94b5-3f57-4a56-bbb5-4d20d7ceb96d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"d9043c54-38c3-4f55-8314-62ba9cd5b30e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.8562653} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ffcd598-4b5e-4df3-80b3-63da9fe62186","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.8565984} device-1 | {"level":"info","message":"GET /devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba? 200 22ms","method":"GET","requestID":"52441730-18eb-11ef-97dd-97826c0d9de9","responseTime":22,"status":200,"url":"/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/eefec868-8d9c-471c-a062-35066da2e42d? 200 21ms","method":"GET","requestID":"52446550-18eb-11ef-97dd-97826c0d9de9","responseTime":21,"status":200,"url":"/devices/eefec868-8d9c-471c-a062-35066da2e42d?"} 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":"df85c6554ecaabba04b62a2fd4532a43"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc3fba07-ccb1-4ec1-ae57-774ab5e662b5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.859494} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.185626,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","object_type":"device","rebac_allow":false,"scope_allow":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":"5246d650-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/eefec868-8d9c-471c-a062-35066da2e42d/signaling 200 12ms","method":"POST","requestID":"5246d650-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/eefec868-8d9c-471c-a062-35066da2e42d/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"450134c4-cb1d-4b52-8261-845900baa037","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.8657174} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.657477,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"23/May/2024:10:00:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df85c6554ecaabba04b62a2fd4532a43"} 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":"52480ed0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"level":"info","message":"POST /experiments? 201 127ms","method":"POST","requestID":"df85c6554ecaabba04b62a2fd4532a43","responseTime":127,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/signaling 200 11ms","method":"POST","requestID":"52480ed0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6292d70812023e9f4c2ea205a93b2f9e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.770037,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} 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":"6292d70812023e9f4c2ea205a93b2f9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4fafb18-6d20-491c-bcc2-3276f9102750","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.8788922} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.255824,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"524a0aa0-18eb-11ef-97dd-97826c0d9de9"},"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/eefec868-8d9c-471c-a062-35066da2e42d/signaling 200 9ms","method":"POST","requestID":"524a0aa0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/eefec868-8d9c-471c-a062-35066da2e42d/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:42.655740949Z"}]},"request_id":"77e6b1bd-eefa-4d8b-9dfa-b7cdc5af995a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.8830836} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"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":"6292d70812023e9f4c2ea205a93b2f9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"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":"b7bafbbf-d379-4146-8c19-3e51b81bfa75"},{"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":"0ed5e305-d2dc-44a4-a48f-7732052fc757"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bb199dce-6665-41a4-b281-51a06c7cdf50"}]},"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/eefec868-8d9c-471c-a062-35066da2e42d"},{"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/75a0260f-8f4e-4b32-bb58-366fa26a2cba"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6292d70812023e9f4c2ea205a93b2f9e"} device-1 | {"level":"info","message":"GET /devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba? 200 12ms","method":"GET","requestID":"6292d70812023e9f4c2ea205a93b2f9e","responseTime":12,"status":200,"url":"/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.704899,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} 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":"524c0670-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3ea93aee85a14d36e0d8ace1e57efa63","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.972754,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458444,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NH0.qR7Ef8ZLjjBGGpIWz7M-PLZ7x6Gi4S3uMUVZglwYWOw"} 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":"3ea93aee85a14d36e0d8ace1e57efa63"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"2d2218ca-1a42-4e86-95ff-f284482b293b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.906292} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1e10bc7-c4df-47c3-95cf-8285803037bc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.9065578} 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":"524c0670-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:42.700788458Z"}]},"request_id":"b5176b4b-502b-418b-b8c4-dc268d15869c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.907548} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ea93aee85a14d36e0d8ace1e57efa63"},"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/eefec868-8d9c-471c-a062-35066da2e42d? 200 19ms","method":"GET","requestID":"3ea93aee85a14d36e0d8ace1e57efa63","responseTime":19,"status":200,"url":"/devices/eefec868-8d9c-471c-a062-35066da2e42d?"} gateway-1 | {"time_local":"23/May/2024:10:00:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eefec868-8d9c-471c-a062-35066da2e42d? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ea93aee85a14d36e0d8ace1e57efa63"} 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/9edb2132-0549-41c0-8044-baff1fd80dc7'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7'"} 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":"524c0670-18eb-11ef-97dd-97826c0d9de9","responseTime":40,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1fc9f503-ba16-4352-9d7f-165bc758bedc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.9572725} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.130848,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","object_type":"device","rebac_allow":false,"scope_allow":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":"52561890-18eb-11ef-97dd-97826c0d9de9"},"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/75a0260f-8f4e-4b32-bb58-366fa26a2cba/signaling 200 8ms","method":"POST","requestID":"52561890-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d951d914-a058-401b-a056-d517b0d1e1c1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458444.967861} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.55108,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52579f30-18eb-11ef-97dd-97826c0d9de9"},"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/eefec868-8d9c-471c-a062-35066da2e42d/signaling 200 10ms","method":"POST","requestID":"52579f30-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/eefec868-8d9c-471c-a062-35066da2e42d/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9edb2132-0549-41c0-8044-baff1fd80dc7","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":"9277dcd99b453b9817f4c03ae2d86133","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/eefec868-8d9c-471c-a062-35066da2e42d"},{"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/75a0260f-8f4e-4b32-bb58-366fa26a2cba"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"9277dcd99b453b9817f4c03ae2d86133","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"9277dcd99b453b9817f4c03ae2d86133"} device-1 | {"data":{"peerconnection":"9edb2132-0549-41c0-8044-baff1fd80dc7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9edb2132-0549-41c0-8044-baff1fd80dc7","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/9edb2132-0549-41c0-8044-baff1fd80dc7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9edb2132-0549-41c0-8044-baff1fd80dc7","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":"e7c00200281c178b308fd073c6e1c9fb","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/eefec868-8d9c-471c-a062-35066da2e42d"},{"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/75a0260f-8f4e-4b32-bb58-366fa26a2cba"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9edb2132-0549-41c0-8044-baff1fd80dc7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8389e6f-dc65-4efe-b6c4-7427c4bdeb15","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.0710201} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.367471,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7","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":"52672f90-18eb-11ef-97dd-97826c0d9de9"},"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/9edb2132-0549-41c0-8044-baff1fd80dc7 200 11ms","method":"GET","requestID":"52672f90-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"e7c00200281c178b308fd073c6e1c9fb","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"e7c00200281c178b308fd073c6e1c9fb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd586e7f-1835-42cd-b4d4-8345d2987301","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.0950792} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.278267,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","object_type":"device","rebac_allow":false,"scope_allow":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":"526b0020-18eb-11ef-97dd-97826c0d9de9"},"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/eefec868-8d9c-471c-a062-35066da2e42d/signaling 200 10ms","method":"POST","requestID":"526b0020-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/eefec868-8d9c-471c-a062-35066da2e42d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3a868e6-a9e7-4eec-9ee4-85bb0d7b53ee","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.1070976} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.243156,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","object_type":"device","rebac_allow":false,"scope_allow":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":"526cd4e0-18eb-11ef-97dd-97826c0d9de9"},"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/75a0260f-8f4e-4b32-bb58-366fa26a2cba/signaling 200 10ms","method":"POST","requestID":"526cd4e0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NX0.v59Ueq7rv_trSbrkITdQwUYwk1g22Go2zCmUcmZnX9Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"64eebdb8bd523acf527541056c7e8fa4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.69516,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458445,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NX0.v59Ueq7rv_trSbrkITdQwUYwk1g22Go2zCmUcmZnX9Q"} 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":"64eebdb8bd523acf527541056c7e8fa4"},"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/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"} gateway-1 | {"time_local":"23/May/2024:10:00:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64eebdb8bd523acf527541056c7e8fa4"} experiment-1 | {"level":"info","message":"GET /experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d 200 11ms","method":"GET","requestID":"64eebdb8bd523acf527541056c7e8fa4","responseTime":11,"status":200,"url":"/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NX0.v59Ueq7rv_trSbrkITdQwUYwk1g22Go2zCmUcmZnX9Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"60d3d4ee86116e69f45b822dd4fa309a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.659915,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458445,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NX0.v59Ueq7rv_trSbrkITdQwUYwk1g22Go2zCmUcmZnX9Q"} 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":"60d3d4ee86116e69f45b822dd4fa309a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.685652,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458445,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NX0.v59Ueq7rv_trSbrkITdQwUYwk1g22Go2zCmUcmZnX9Q"} 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":"5275d590-18eb-11ef-97dd-97826c0d9de9"},"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/9edb2132-0549-41c0-8044-baff1fd80dc7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9edb2132-0549-41c0-8044-baff1fd80dc7","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9edb2132-0549-41c0-8044-baff1fd80dc7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9edb2132-0549-41c0-8044-baff1fd80dc7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"af77e763-70bb-40bb-8556-6df57697bfe8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.1783075} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"73d11bb59989c62479963d979b10299f","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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b025d50a-62ef-4d8b-a3a4-021a1ef9c359","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.1786704} 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":"5275d590-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/eefec868-8d9c-471c-a062-35066da2e42d"},{"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/75a0260f-8f4e-4b32-bb58-366fa26a2cba"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"213c20ab1b37382f22a2eb874b86eeb4","responseTime":0,"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/eefec868-8d9c-471c-a062-35066da2e42d"},{"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/75a0260f-8f4e-4b32-bb58-366fa26a2cba"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"9edb2132-0549-41c0-8044-baff1fd80dc7","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/9edb2132-0549-41c0-8044-baff1fd80dc7 204 40ms","method":"DELETE","requestID":"5275d590-18eb-11ef-97dd-97826c0d9de9","responseTime":40,"status":204,"url":"/peerconnections/9edb2132-0549-41c0-8044-baff1fd80dc7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feefec868-8d9c-471c-a062-35066da2e42d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f2231945-43ba-46ed-b566-a2b8e60a47ea","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.225353} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.830145,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d","object_type":"device","rebac_allow":false,"scope_allow":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":"527ed640-18eb-11ef-97dd-97826c0d9de9"},"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/eefec868-8d9c-471c-a062-35066da2e42d/signaling 200 10ms","method":"POST","requestID":"527ed640-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/eefec868-8d9c-471c-a062-35066da2e42d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb28b94b5-3f57-4a56-bbb5-4d20d7ceb96d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb28b94b5-3f57-4a56-bbb5-4d20d7ceb96d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"4b0cfe73-ef1e-4293-84f4-9895f44c5b87","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.2327998} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97df25de-dcb9-4bca-813b-364376fb38b7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.2329884} 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":"60d3d4ee86116e69f45b822dd4fa309a"},"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:60464","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a0260f-8f4e-4b32-bb58-366fa26a2cba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02fb70f7-c9bf-4ef8-aa05-c8627003ea49","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.2379937} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.558897,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5280ab00-18eb-11ef-97dd-97826c0d9de9"},"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/75a0260f-8f4e-4b32-bb58-366fa26a2cba/signaling 200 10ms","method":"POST","requestID":"5280ab00-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"} gateway-1 | {"time_local":"23/May/2024:10:00:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60d3d4ee86116e69f45b822dd4fa309a"} experiment-1 | {"level":"info","message":"DELETE /experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d 204 132ms","method":"DELETE","requestID":"60d3d4ee86116e69f45b822dd4fa309a","responseTime":132,"status":204,"url":"/experiments/b28b94b5-3f57-4a56-bbb5-4d20d7ceb96d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"73d11bb59989c62479963d979b10299f","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.107","http_referrer":"","http_user_agent":"node-fetch","requestID":"73d11bb59989c62479963d979b10299f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 103ms","method":"POST","requestID":"213c20ab1b37382f22a2eb874b86eeb4","responseTime":103,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"213c20ab1b37382f22a2eb874b86eeb4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NX0.v59Ueq7rv_trSbrkITdQwUYwk1g22Go2zCmUcmZnX9Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"faf870eca008c4deb32574dd51f65df5","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.284661,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458445,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NX0.v59Ueq7rv_trSbrkITdQwUYwk1g22Go2zCmUcmZnX9Q"} 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":"faf870eca008c4deb32574dd51f65df5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"23/May/2024:10:00:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2850","request_time":"0.619","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"18d7095ea19c7dec55c41d2dc9add6cc"} gateway-1 | {"time_local":"23/May/2024:10:00:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2846","request_time":"0.610","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1230340c14f6af8eb58353364c11b7ae"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/75a0260f-8f4e-4b32-bb58-366fa26a2cba' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/eefec868-8d9c-471c-a062-35066da2e42d' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"32eb7c90-1696-4690-b5e8-6a4c47c45aa2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.3156145} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"faf870eca008c4deb32574dd51f65df5"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e31e1e3f-42d3-4d98-a4b0-898ba1cc6688","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.3200853} 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":"faf870eca008c4deb32574dd51f65df5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"71e6d5b8-c9d5-45d3-a169-290e67f57b95","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.330446} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bfdab0bf-5e76-460e-b051-8e0001a838f2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.3307543} 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":"faf870eca008c4deb32574dd51f65df5"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:45.330414827Z"}]},"request_id":"47199b99-c8cf-4081-9377-ece55c474b8d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.3347402} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"faf870eca008c4deb32574dd51f65df5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"faf870eca008c4deb32574dd51f65df5"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"faf870eca008c4deb32574dd51f65df5","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NX0.v59Ueq7rv_trSbrkITdQwUYwk1g22Go2zCmUcmZnX9Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4f59b5e5ca9b869f066982abfe6ccae3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.946273,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458445,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0NX0.v59Ueq7rv_trSbrkITdQwUYwk1g22Go2zCmUcmZnX9Q"} 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":"4f59b5e5ca9b869f066982abfe6ccae3"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"57e13398-8a8a-441f-bcc8-30d8716bb1d4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.3568294} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f59b5e5ca9b869f066982abfe6ccae3"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ecf03c5-2411-4ca7-96cc-41eb8b8e44d2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.3608506} 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":"4f59b5e5ca9b869f066982abfe6ccae3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"0ec8919c-1ae5-42df-aa3a-0b2a49913a2a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.3700242} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad40e0b3-fc00-46f6-8ee6-dedb695494c0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.3701358} 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":"4f59b5e5ca9b869f066982abfe6ccae3"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:45.369999271Z"}]},"request_id":"3a19c596-8cc2-43ec-9556-539613d7876b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458445.3773284} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f59b5e5ca9b869f066982abfe6ccae3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"4f59b5e5ca9b869f066982abfe6ccae3","responseTime":37,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:00:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f59b5e5ca9b869f066982abfe6ccae3"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0f39974ca2055a539f0ea7bdd567e31a","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3b118fc9-9d56-461b-8f50-5e39709b2782/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":"0f39974ca2055a539f0ea7bdd567e31a"} device-1 | {"level":"info","message":"OPTIONS /devices/3b118fc9-9d56-461b-8f50-5e39709b2782/websocket 200 1ms","method":"OPTIONS","requestID":"0f39974ca2055a539f0ea7bdd567e31a","responseTime":1,"status":200,"url":"/devices/3b118fc9-9d56-461b-8f50-5e39709b2782/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0f296c7cc72d7364f9a6dcd57f24214f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658433,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} 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":"0f296c7cc72d7364f9a6dcd57f24214f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"98906d4c51a8f22949650b11f5bb9962","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/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":"98906d4c51a8f22949650b11f5bb9962"} device-1 | {"level":"info","message":"OPTIONS /devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/websocket 200 1ms","method":"OPTIONS","requestID":"98906d4c51a8f22949650b11f5bb9962","responseTime":1,"status":200,"url":"/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7ff784817a3b3ddb8c89a5a176f9d5b2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717823,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ff784817a3b3ddb8c89a5a176f9d5b2"},"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/3b118fc9-9d56-461b-8f50-5e39709b2782/websocket 200 33ms","method":"POST","requestID":"0f296c7cc72d7364f9a6dcd57f24214f","responseTime":33,"status":200,"url":"/devices/3b118fc9-9d56-461b-8f50-5e39709b2782/websocket"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3b118fc9-9d56-461b-8f50-5e39709b2782/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":"0f296c7cc72d7364f9a6dcd57f24214f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/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":"7ff784817a3b3ddb8c89a5a176f9d5b2"} device-1 | {"level":"info","message":"POST /devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/websocket 200 23ms","method":"POST","requestID":"7ff784817a3b3ddb8c89a5a176f9d5b2","responseTime":23,"status":200,"url":"/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2bed373df9c0caab8725e825fb8b5440","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65072,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2bed373df9c0caab8725e825fb8b5440"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:45.330414827Z"}]},"request_id":"d10a8791-ace1-4734-b341-48b0ea850eaa","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.3592975} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2bed373df9c0caab8725e825fb8b5440"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2bed373df9c0caab8725e825fb8b5440"} device-1 | {"level":"info","message":"GET /devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3? 200 13ms","method":"GET","requestID":"2bed373df9c0caab8725e825fb8b5440","responseTime":13,"status":200,"url":"/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f5d5808153248097b6a8069b4a30a51b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.911933,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5d5808153248097b6a8069b4a30a51b"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:45.369999271Z"}]},"request_id":"4ff61c70-ccdb-453f-b05e-cdda546b3585","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.376851} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5d5808153248097b6a8069b4a30a51b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3b118fc9-9d56-461b-8f50-5e39709b2782? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5d5808153248097b6a8069b4a30a51b"} device-1 | {"level":"info","message":"GET /devices/3b118fc9-9d56-461b-8f50-5e39709b2782? 200 13ms","method":"GET","requestID":"f5d5808153248097b6a8069b4a30a51b","responseTime":13,"status":200,"url":"/devices/3b118fc9-9d56-461b-8f50-5e39709b2782?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7452121f2b04fb4be4a14f6320e2cefc","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:60464","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.959728,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} 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":"7452121f2b04fb4be4a14f6320e2cefc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"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:60464","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635093,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53cfe750-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624852,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53d00e60-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:45.330414827Z"}]},"request_id":"566149d8-76f2-4602-8918-770d1c3dbd89","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.4383252} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53cfe750-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:45.369999271Z"}]},"request_id":"54071ecb-c4d2-43aa-a89e-4ce2f2f6bdae","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.4394026} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53d00e60-18eb-11ef-97dd-97826c0d9de9"},"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/7c1c3fb5-4270-46af-8383-8bc4e7204ab3? 200 16ms","method":"GET","requestID":"53cfe750-18eb-11ef-97dd-97826c0d9de9","responseTime":16,"status":200,"url":"/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3b118fc9-9d56-461b-8f50-5e39709b2782? 200 16ms","method":"GET","requestID":"53d00e60-18eb-11ef-97dd-97826c0d9de9","responseTime":16,"status":200,"url":"/devices/3b118fc9-9d56-461b-8f50-5e39709b2782?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"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/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647093,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53d7fda0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.727186,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} 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":"53d824b0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.356457,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9185f8e-3e8a-4da8-ab82-7521d26ed7cd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.4921489} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","object_type":"device","rebac_allow":false,"scope_allow":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":"53d872d0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:45.330414827Z"}]},"request_id":"3ecc50e4-1ba5-41b2-b906-e5ea609f2629","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.493859} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:45.369999271Z"}]},"request_id":"f4d129cc-48a4-4017-bb3b-1b5f4ed43a4f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.495825} 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":"53d7fda0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 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":"53d824b0-18eb-11ef-97dd-97826c0d9de9"},"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/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/signaling 200 15ms","method":"POST","requestID":"53d872d0-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3? 200 23ms","method":"GET","requestID":"53d7fda0-18eb-11ef-97dd-97826c0d9de9","responseTime":23,"status":200,"url":"/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80268daf-19a4-449d-a5a5-3a65bb0c16bd#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80268daf-19a4-449d-a5a5-3a65bb0c16bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"99f7e6de-e5ae-4106-abcb-bd8a910c2bb3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.5058749} device-1 | {"level":"info","message":"GET /devices/3b118fc9-9d56-461b-8f50-5e39709b2782? 200 24ms","method":"GET","requestID":"53d824b0-18eb-11ef-97dd-97826c0d9de9","responseTime":24,"status":200,"url":"/devices/3b118fc9-9d56-461b-8f50-5e39709b2782?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5218b17d-8050-42d2-a07f-a8e23949918c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.505947} 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":"7452121f2b04fb4be4a14f6320e2cefc"},"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:60464","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"528bc983-369f-4cf2-a48f-09d52b9175ae","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.5091233} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.104299,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","object_type":"device","rebac_allow":false,"scope_allow":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":"53db0ae0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/3b118fc9-9d56-461b-8f50-5e39709b2782/signaling 200 12ms","method":"POST","requestID":"53db0ae0-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/3b118fc9-9d56-461b-8f50-5e39709b2782/signaling"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7452121f2b04fb4be4a14f6320e2cefc"} experiment-1 | {"level":"info","message":"POST /experiments? 201 129ms","method":"POST","requestID":"7452121f2b04fb4be4a14f6320e2cefc","responseTime":129,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88d87133-8732-4c81-b234-e869b000fe46","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.5149057} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.811974,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","object_type":"device","rebac_allow":false,"scope_allow":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":"53dc1c50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/signaling 200 11ms","method":"POST","requestID":"53dc1c50-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6cd3be7b4cf492987a6c9db989726a96","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681889,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6cd3be7b4cf492987a6c9db989726a96"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01027cd6-95e2-46a5-9276-12c6e6278ae9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.5265803} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.748534,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","object_type":"device","rebac_allow":false,"scope_allow":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":"53de1820-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:45.330414827Z"}]},"request_id":"eecbb702-9f82-4d05-9b61-a614445e626a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.5289526} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6cd3be7b4cf492987a6c9db989726a96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3b118fc9-9d56-461b-8f50-5e39709b2782/signaling 200 11ms","method":"POST","requestID":"53de1820-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/3b118fc9-9d56-461b-8f50-5e39709b2782/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6cd3be7b4cf492987a6c9db989726a96"} device-1 | {"level":"info","message":"GET /devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3? 200 14ms","method":"GET","requestID":"6cd3be7b4cf492987a6c9db989726a96","responseTime":14,"status":200,"url":"/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"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":"08998172-4c17-4f30-9c79-3648284b2f0a"},{"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":"4512b272-61c1-4bc6-8e9f-e2480ebfbba2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b5275961-af0a-424c-96b1-7f46af90a2f3"}]},"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/3b118fc9-9d56-461b-8f50-5e39709b2782"},{"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/7c1c3fb5-4270-46af-8383-8bc4e7204ab3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.733076,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"68c5e8393a50c018453786d37c8378f0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} 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":"53e03b00-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.021481,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68c5e8393a50c018453786d37c8378f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:45.369999271Z"}]},"request_id":"5f621e49-28c6-4c01-8a69-9c6d635f7e96","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.5486622} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68c5e8393a50c018453786d37c8378f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"483da319-bb0c-4884-8714-6c03616eb6ad","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.5500734} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bb70cb0-9f4c-44f7-956d-a060c3cc662b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.5503273} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"53e03b00-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3b118fc9-9d56-461b-8f50-5e39709b2782? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68c5e8393a50c018453786d37c8378f0"} device-1 | {"level":"info","message":"GET /devices/3b118fc9-9d56-461b-8f50-5e39709b2782? 200 13ms","method":"GET","requestID":"68c5e8393a50c018453786d37c8378f0","responseTime":13,"status":200,"url":"/devices/3b118fc9-9d56-461b-8f50-5e39709b2782?"} 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/2a360c23-0826-4abc-9230-4b5dd96c8ff0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0'"} 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":"53e03b00-18eb-11ef-97dd-97826c0d9de9","responseTime":40,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e79a57a7-bff4-453a-a7f0-df9e72d9d85e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.605749} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.209439,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","object_type":"device","rebac_allow":false,"scope_allow":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":"53ea2610-18eb-11ef-97dd-97826c0d9de9"},"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/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/signaling 200 8ms","method":"POST","requestID":"53ea2610-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e19f29b7-c38e-43a1-87ee-ea4047a79619","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.6152954} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.234079,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","object_type":"device","rebac_allow":false,"scope_allow":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":"53ebacb0-18eb-11ef-97dd-97826c0d9de9"},"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/3b118fc9-9d56-461b-8f50-5e39709b2782/signaling 200 8ms","method":"POST","requestID":"53ebacb0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/3b118fc9-9d56-461b-8f50-5e39709b2782/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2a360c23-0826-4abc-9230-4b5dd96c8ff0","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":"5e5ecdd3a008fa029a03360a6059f35a","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/3b118fc9-9d56-461b-8f50-5e39709b2782"},{"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/7c1c3fb5-4270-46af-8383-8bc4e7204ab3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"5e5ecdd3a008fa029a03360a6059f35a","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"5e5ecdd3a008fa029a03360a6059f35a"} device-1 | {"data":{"peerconnection":"2a360c23-0826-4abc-9230-4b5dd96c8ff0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"2a360c23-0826-4abc-9230-4b5dd96c8ff0","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/2a360c23-0826-4abc-9230-4b5dd96c8ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2a360c23-0826-4abc-9230-4b5dd96c8ff0","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":"4d320b986b81b328cc1c558ecbcdcdda","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/3b118fc9-9d56-461b-8f50-5e39709b2782"},{"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/7c1c3fb5-4270-46af-8383-8bc4e7204ab3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a360c23-0826-4abc-9230-4b5dd96c8ff0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62254058-0298-4f26-af37-943a89e5cd65","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.7050114} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.855945,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0","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":"53f94140-18eb-11ef-97dd-97826c0d9de9"},"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/2a360c23-0826-4abc-9230-4b5dd96c8ff0 200 8ms","method":"GET","requestID":"53f94140-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"4d320b986b81b328cc1c558ecbcdcdda","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"4d320b986b81b328cc1c558ecbcdcdda"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0685f7b5-b1c8-4ecc-9297-31faae8afb76","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.7265553} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.342756,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53fc9ca0-18eb-11ef-97dd-97826c0d9de9"},"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/3b118fc9-9d56-461b-8f50-5e39709b2782/signaling 200 9ms","method":"POST","requestID":"53fc9ca0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/3b118fc9-9d56-461b-8f50-5e39709b2782/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b0ad079-bf79-49f5-9fa4-b6c0198da19f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.7380073} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.08898,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","object_type":"device","rebac_allow":false,"scope_allow":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":"53fe4a50-18eb-11ef-97dd-97826c0d9de9"},"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/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/signaling 200 9ms","method":"POST","requestID":"53fe4a50-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c8544f40f890ed4e7be2047f78c339a1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.706243,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} 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":"c8544f40f890ed4e7be2047f78c339a1"},"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/80268daf-19a4-449d-a5a5-3a65bb0c16bd"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd 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":"c8544f40f890ed4e7be2047f78c339a1"} experiment-1 | {"level":"info","message":"GET /experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd 200 10ms","method":"GET","requestID":"c8544f40f890ed4e7be2047f78c339a1","responseTime":10,"status":200,"url":"/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"24e6a06f663da55e104dffd3b0a7fdcd","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.683445,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} 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":"24e6a06f663da55e104dffd3b0a7fdcd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.947711,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} 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":"54085c70-18eb-11ef-97dd-97826c0d9de9"},"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/2a360c23-0826-4abc-9230-4b5dd96c8ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2a360c23-0826-4abc-9230-4b5dd96c8ff0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a360c23-0826-4abc-9230-4b5dd96c8ff0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a360c23-0826-4abc-9230-4b5dd96c8ff0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"d04a6a42-16b3-45d0-bd6d-a48d5e85c853","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.8167326} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cb0e0ac9b91254f1812777b9ebf6da1a","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":"closed","url":"http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782"},{"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/7c1c3fb5-4270-46af-8383-8bc4e7204ab3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0"}}},"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":"76e80a85e88553372c34d40c0c3b29b7","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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74fc6543-7a96-4ec7-a88c-ceb0ea83a44d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.8177214} 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/3b118fc9-9d56-461b-8f50-5e39709b2782"},{"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/7c1c3fb5-4270-46af-8383-8bc4e7204ab3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0"}}},"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":"54085c70-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"2a360c23-0826-4abc-9230-4b5dd96c8ff0","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/2a360c23-0826-4abc-9230-4b5dd96c8ff0 204 51ms","method":"DELETE","requestID":"54085c70-18eb-11ef-97dd-97826c0d9de9","responseTime":51,"status":204,"url":"/peerconnections/2a360c23-0826-4abc-9230-4b5dd96c8ff0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b118fc9-9d56-461b-8f50-5e39709b2782","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c67405f0-f791-4ccd-ba6c-7dc6147563cc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.8685675} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.316277,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782","object_type":"device","rebac_allow":false,"scope_allow":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":"54124780-18eb-11ef-97dd-97826c0d9de9"},"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/3b118fc9-9d56-461b-8f50-5e39709b2782/signaling 200 9ms","method":"POST","requestID":"54124780-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/3b118fc9-9d56-461b-8f50-5e39709b2782/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80268daf-19a4-449d-a5a5-3a65bb0c16bd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80268daf-19a4-449d-a5a5-3a65bb0c16bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"fdf27441-27be-4fa6-a212-8ce1b34e50f4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.874439} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ed87e79-5131-45d8-a668-761bcc86e285","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.8746803} 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":"24e6a06f663da55e104dffd3b0a7fdcd"},"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:60464","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c3fb5-4270-46af-8383-8bc4e7204ab3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"698793bf-3204-487c-bdcf-69d26b5cf7bb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.879855} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.379767,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3","object_type":"device","rebac_allow":false,"scope_allow":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":"5413f530-18eb-11ef-97dd-97826c0d9de9"},"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/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/signaling 200 9ms","method":"POST","requestID":"5413f530-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/7c1c3fb5-4270-46af-8383-8bc4e7204ab3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24e6a06f663da55e104dffd3b0a7fdcd"} experiment-1 | {"level":"info","message":"DELETE /experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd 204 135ms","method":"DELETE","requestID":"24e6a06f663da55e104dffd3b0a7fdcd","responseTime":135,"status":204,"url":"/experiments/80268daf-19a4-449d-a5a5-3a65bb0c16bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 108ms","method":"POST","requestID":"cb0e0ac9b91254f1812777b9ebf6da1a","responseTime":108,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.111","http_referrer":"","http_user_agent":"node-fetch","requestID":"cb0e0ac9b91254f1812777b9ebf6da1a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"76e80a85e88553372c34d40c0c3b29b7","responseTime":107,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b7c67b7a55c94b98f48fdfc016c03518","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:00: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.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"76e80a85e88553372c34d40c0c3b29b7"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.884924,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2850","request_time":"0.604","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4ea335e5eb9e1ea754de0a577b17a00d"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +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":"88d13e5163672976e299f9d2a7c190d3"} 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":"b7c67b7a55c94b98f48fdfc016c03518"},"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/7c1c3fb5-4270-46af-8383-8bc4e7204ab3' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3b118fc9-9d56-461b-8f50-5e39709b2782' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d238f8c5-5d2a-4d90-b751-6d6d90fc13b5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.9602485} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7c67b7a55c94b98f48fdfc016c03518"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0de149ff-cc9e-4faa-b515-eafbc12f5f09","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.9651608} 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":"b7c67b7a55c94b98f48fdfc016c03518"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"abe34220-85ba-454d-b92e-d9483f1f00db","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.9749365} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c315bc9-be0b-454c-a00a-47de30680631","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.975204} 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":"b7c67b7a55c94b98f48fdfc016c03518"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:47.974896153Z"}]},"request_id":"bc8baf6b-8b43-4937-9320-bcd63b688852","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458447.9800632} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7c67b7a55c94b98f48fdfc016c03518"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7c67b7a55c94b98f48fdfc016c03518"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"b7c67b7a55c94b98f48fdfc016c03518","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4aab3bc2bc56abf54843744a6a49d44d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.670548,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458447,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0N30.5aSVFgyz1D3ApVNPfP005ECV1LpwjueFqYTvbi3V918"} 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":"4aab3bc2bc56abf54843744a6a49d44d"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9c618ddf-a66b-4d5e-b172-5f1a2597c2b5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458448.0032861} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4aab3bc2bc56abf54843744a6a49d44d"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e97a9dea-b956-4c36-8f25-fb82cb7a6d95","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458448.0081089} 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":"4aab3bc2bc56abf54843744a6a49d44d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"e450bcf4-6981-4114-8ea9-5a11ead08ed5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458448.0179715} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9cdeab79-dba9-47e4-a2d2-87d1f3d2e185","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458448.0181298} 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":"4aab3bc2bc56abf54843744a6a49d44d"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:48.017936657Z"}]},"request_id":"642aabc5-fd13-403d-88a8-75a55709c9c3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458448.0250049} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4aab3bc2bc56abf54843744a6a49d44d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4aab3bc2bc56abf54843744a6a49d44d"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"4aab3bc2bc56abf54843744a6a49d44d","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0OH0.YGec6bJiiMxX9FVqjrySAOiKRueIJl5qWVJh-QLQt2I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b3767b8efc06751e127594b63d717139","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968617,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458448,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0OH0.YGec6bJiiMxX9FVqjrySAOiKRueIJl5qWVJh-QLQt2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3767b8efc06751e127594b63d717139"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:48.017936657Z"}]},"request_id":"15cfd4a7-6ee3-4c1f-a394-b794d74761f4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458448.5760643} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3767b8efc06751e127594b63d717139"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c80cdbb-fc1d-4020-a469-5523c4b39fee","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458448.5813634} 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":"b3767b8efc06751e127594b63d717139"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:48.017936657Z"}]},"request_id":"031903b3-5333-4f64-aa2d-70945d58b95f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458448.6012022} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3767b8efc06751e127594b63d717139"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e94836d6-4895-4371-82c2-b64884e60e9d HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b3767b8efc06751e127594b63d717139"} device-1 | {"level":"info","message":"PATCH /devices/e94836d6-4895-4371-82c2-b64884e60e9d 200 37ms","method":"PATCH","requestID":"b3767b8efc06751e127594b63d717139","responseTime":37,"status":200,"url":"/devices/e94836d6-4895-4371-82c2-b64884e60e9d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0OH0.YGec6bJiiMxX9FVqjrySAOiKRueIJl5qWVJh-QLQt2I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"27ad45705a506b63db301dcc86a2d139","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805628,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458448,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0OH0.YGec6bJiiMxX9FVqjrySAOiKRueIJl5qWVJh-QLQt2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27ad45705a506b63db301dcc86a2d139"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e94836d6-4895-4371-82c2-b64884e60e9d/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":"27ad45705a506b63db301dcc86a2d139"} device-1 | {"level":"info","message":"POST /devices/e94836d6-4895-4371-82c2-b64884e60e9d/websocket 200 16ms","method":"POST","requestID":"27ad45705a506b63db301dcc86a2d139","responseTime":16,"status":200,"url":"/devices/e94836d6-4895-4371-82c2-b64884e60e9d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d' 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":"0e2cffe51951abd7d679a75f3f7b93d8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/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":"0e2cffe51951abd7d679a75f3f7b93d8"} device-1 | {"level":"info","message":"OPTIONS /devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/websocket 200 0ms","method":"OPTIONS","requestID":"0e2cffe51951abd7d679a75f3f7b93d8","responseTime":0,"status":200,"url":"/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0OX0.JfGzXDRA2yZwD5raCBa7hrPcCTbx1Vb89crIyrdfB_k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cae8f5122420ad2ab7b33cdb5fde651d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670619,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458449,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0OX0.JfGzXDRA2yZwD5raCBa7hrPcCTbx1Vb89crIyrdfB_k"} 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":"cae8f5122420ad2ab7b33cdb5fde651d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/websocket 200 17ms","method":"POST","requestID":"cae8f5122420ad2ab7b33cdb5fde651d","responseTime":17,"status":200,"url":"/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/websocket"} gateway-1 | {"time_local":"23/May/2024:10:00:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cae8f5122420ad2ab7b33cdb5fde651d"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0OX0.JfGzXDRA2yZwD5raCBa7hrPcCTbx1Vb89crIyrdfB_k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7731fc91dc0ff33d7694607b24a09f8c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657602,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458449,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ0OX0.JfGzXDRA2yZwD5raCBa7hrPcCTbx1Vb89crIyrdfB_k"} 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":"7731fc91dc0ff33d7694607b24a09f8c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:47.974896153Z"}]},"request_id":"b03c7b43-f251-485f-a69b-67eb16f48d98","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.0028095} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7731fc91dc0ff33d7694607b24a09f8c"},"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a? 200 11ms","method":"GET","requestID":"7731fc91dc0ff33d7694607b24a09f8c","responseTime":11,"status":200,"url":"/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a?"} gateway-1 | {"time_local":"23/May/2024:10:00:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7731fc91dc0ff33d7694607b24a09f8c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c8ebde241997d17020a211fc7b14281c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671732,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458450,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8ebde241997d17020a211fc7b14281c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:48.017936657Z"}]},"request_id":"89ce208b-ac23-427d-84ad-bfbbf6c853a6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.0183308} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8ebde241997d17020a211fc7b14281c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e94836d6-4895-4371-82c2-b64884e60e9d? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8ebde241997d17020a211fc7b14281c"} device-1 | {"level":"info","message":"GET /devices/e94836d6-4895-4371-82c2-b64884e60e9d? 200 10ms","method":"GET","requestID":"c8ebde241997d17020a211fc7b14281c","responseTime":10,"status":200,"url":"/devices/e94836d6-4895-4371-82c2-b64884e60e9d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"39b5eb734d639d7496f3433f996b78bb","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:60464","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.703013,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458450,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM"} 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":"39b5eb734d639d7496f3433f996b78bb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"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:60464","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618455,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458450,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55607260-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704406,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458450,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55609970-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:47.974896153Z"}]},"request_id":"cbdf9302-840f-4c07-8f41-ff77c35dbff0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.063531} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55607260-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:48.017936657Z"}]},"request_id":"31815497-15f8-4128-a26e-d3aa77d1a6d8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.064667} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55609970-18eb-11ef-97dd-97826c0d9de9"},"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a? 200 15ms","method":"GET","requestID":"55607260-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e94836d6-4895-4371-82c2-b64884e60e9d? 200 15ms","method":"GET","requestID":"55609970-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/e94836d6-4895-4371-82c2-b64884e60e9d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"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/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682362,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458450,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"556861a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61441,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458450,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5568afc0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.57134,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04934741-3f14-439d-915c-876504a18619","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.1156743} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","object_type":"device","rebac_allow":false,"scope_allow":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":"5568d6d0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:47.974896153Z"}]},"request_id":"1535cef4-dc9d-4d49-a364-93aca11c4423","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.1189625} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:48.017936657Z"}]},"request_id":"a1a3c21b-abeb-48cf-92e0-49c8f16e30e2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.1200836} 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":"556861a0-18eb-11ef-97dd-97826c0d9de9"},"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":"5568afc0-18eb-11ef-97dd-97826c0d9de9"},"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/signaling 200 15ms","method":"POST","requestID":"5568d6d0-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":200,"url":"/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a? 200 22ms","method":"GET","requestID":"556861a0-18eb-11ef-97dd-97826c0d9de9","responseTime":22,"status":200,"url":"/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e94836d6-4895-4371-82c2-b64884e60e9d? 200 22ms","method":"GET","requestID":"5568afc0-18eb-11ef-97dd-97826c0d9de9","responseTime":22,"status":200,"url":"/devices/e94836d6-4895-4371-82c2-b64884e60e9d?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40b52867-066e-4265-bdd3-42e9e40922e5#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40b52867-066e-4265-bdd3-42e9e40922e5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"2955e186-d5ba-4713-8c65-d06c08a7bddf","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.1309962} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4bcae666-93a2-4565-a02e-6fcec79385a3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.1313317} 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":"39b5eb734d639d7496f3433f996b78bb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1cbb3f6d-0b81-459d-af2e-ffc0c1e8e65a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.133175} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.456582,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","object_type":"device","rebac_allow":false,"scope_allow":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":"556b6ee0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78a13240-3a17-4902-ad94-3b77cf0c9e98","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.1372287} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.902791,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 112ms","method":"POST","requestID":"39b5eb734d639d7496f3433f996b78bb","responseTime":112,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:10:00:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.116","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39b5eb734d639d7496f3433f996b78bb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","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/e94836d6-4895-4371-82c2-b64884e60e9d/signaling 200 13ms","method":"POST","requestID":"556b6ee0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/e94836d6-4895-4371-82c2-b64884e60e9d/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":"556c5940-18eb-11ef-97dd-97826c0d9de9"},"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/signaling 200 10ms","method":"POST","requestID":"556c5940-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5266f97f1a9e288825ee38453e707c81","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"906db720-eca0-4c71-96f2-926d9fe1b470","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.1486068} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733372,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458450,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM"} 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":"5266f97f1a9e288825ee38453e707c81"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.466053,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","object_type":"device","rebac_allow":false,"scope_allow":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":"556e2e00-18eb-11ef-97dd-97826c0d9de9"},"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/e94836d6-4895-4371-82c2-b64884e60e9d/signaling 200 10ms","method":"POST","requestID":"556e2e00-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/e94836d6-4895-4371-82c2-b64884e60e9d/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:47.974896153Z"}]},"request_id":"c49d36af-cb83-41e2-8bca-8d17ff288198","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.154355} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"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":"5266f97f1a9e288825ee38453e707c81"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"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":"c6a95be4-a302-445e-b488-335afd051413"},{"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":"68a0af83-8a8e-408b-83e8-7d7849dd2a0a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"859a78c6-c90e-4702-a7df-47b283de0d97"}]},"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/e94836d6-4895-4371-82c2-b64884e60e9d"},{"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a"}],"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a? 200 14ms","method":"GET","requestID":"5266f97f1a9e288825ee38453e707c81","responseTime":14,"status":200,"url":"/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a?"} gateway-1 | {"time_local":"23/May/2024:10:00:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5266f97f1a9e288825ee38453e707c81"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.03159,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458450,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM"} 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":"557029d0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2c26f61c33e33ea5ee26a0bd90a7ff4e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760703,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458450,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1MH0.Y_SSzZAeww_2_TpHFbjNC9OTw6t8Q99SphvKa93u5NM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c26f61c33e33ea5ee26a0bd90a7ff4e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:48.017936657Z"}]},"request_id":"6300cfc7-6a09-414a-b1cb-91f05b591dd9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.1711512} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c26f61c33e33ea5ee26a0bd90a7ff4e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"9bb51ef6-787b-4864-baad-2e311f882839","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.1719377} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23789817-842e-460a-a82c-cc7bb6fc09e2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.172073} 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":"557029d0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e94836d6-4895-4371-82c2-b64884e60e9d? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c26f61c33e33ea5ee26a0bd90a7ff4e"} device-1 | {"level":"info","message":"GET /devices/e94836d6-4895-4371-82c2-b64884e60e9d? 200 12ms","method":"GET","requestID":"2c26f61c33e33ea5ee26a0bd90a7ff4e","responseTime":12,"status":200,"url":"/devices/e94836d6-4895-4371-82c2-b64884e60e9d?"} 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/227912a3-c7ae-46be-a4b4-5d88de2cfbfa'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa'"} 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":"557029d0-18eb-11ef-97dd-97826c0d9de9","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/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f177d38-aecc-4b79-998a-447bccd36dc5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.2363548} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.228432,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","object_type":"device","rebac_allow":false,"scope_allow":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":"557b9b80-18eb-11ef-97dd-97826c0d9de9"},"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/signaling 200 8ms","method":"POST","requestID":"557b9b80-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4121781f-6cba-46bb-94e4-1aa5f57653b8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458450.245637} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.099815,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","object_type":"device","rebac_allow":false,"scope_allow":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":"557d2220-18eb-11ef-97dd-97826c0d9de9"},"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/e94836d6-4895-4371-82c2-b64884e60e9d/signaling 200 7ms","method":"POST","requestID":"557d2220-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":200,"url":"/devices/e94836d6-4895-4371-82c2-b64884e60e9d/signaling"} device-1 | {"data":{"peerconnection":"227912a3-c7ae-46be-a4b4-5d88de2cfbfa","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/227912a3-c7ae-46be-a4b4-5d88de2cfbfa' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"227912a3-c7ae-46be-a4b4-5d88de2cfbfa","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":"accce4c084149dda6edea69a776614a7","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/e94836d6-4895-4371-82c2-b64884e60e9d"},{"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"accce4c084149dda6edea69a776614a7","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"accce4c084149dda6edea69a776614a7"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a'"} device-1 | {"data":{"peerconnection":"227912a3-c7ae-46be-a4b4-5d88de2cfbfa","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"227912a3-c7ae-46be-a4b4-5d88de2cfbfa","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/227912a3-c7ae-46be-a4b4-5d88de2cfbfa' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"227912a3-c7ae-46be-a4b4-5d88de2cfbfa","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":"ccd141442f49e33df355c2b742ef1316","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/e94836d6-4895-4371-82c2-b64884e60e9d"},{"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F227912a3-c7ae-46be-a4b4-5d88de2cfbfa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ac48e55-077f-4c2f-acc8-08f536dcc595","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.2836645} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.457252,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa","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":"56b3f470-18eb-11ef-97dd-97826c0d9de9"},"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/227912a3-c7ae-46be-a4b4-5d88de2cfbfa 200 9ms","method":"GET","requestID":"56b3f470-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"ccd141442f49e33df355c2b742ef1316","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"ccd141442f49e33df355c2b742ef1316"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3653fd44-694b-495c-84b4-51ae3ae46404","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.3069627} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.228687,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","object_type":"device","rebac_allow":false,"scope_allow":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":"56b776e0-18eb-11ef-97dd-97826c0d9de9"},"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/e94836d6-4895-4371-82c2-b64884e60e9d/signaling 200 9ms","method":"POST","requestID":"56b776e0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/e94836d6-4895-4371-82c2-b64884e60e9d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3cd4b769-331c-4f40-9d3d-dafa78de31c6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.317851} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.905388,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56b92490-18eb-11ef-97dd-97826c0d9de9"},"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/signaling 200 10ms","method":"POST","requestID":"56b92490-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1Mn0.HRlgnOMVS8z0LD7zAooFn_cPh4XhyMFbTIirEw5CWAs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"29ea72a9e887a39accb42ddb5ad5b242","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/40b52867-066e-4265-bdd3-42e9e40922e5"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.705218,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458452,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1Mn0.HRlgnOMVS8z0LD7zAooFn_cPh4XhyMFbTIirEw5CWAs"} 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":"29ea72a9e887a39accb42ddb5ad5b242"},"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/40b52867-066e-4265-bdd3-42e9e40922e5"} gateway-1 | {"time_local":"23/May/2024:10:00:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/40b52867-066e-4265-bdd3-42e9e40922e5 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29ea72a9e887a39accb42ddb5ad5b242"} experiment-1 | {"level":"info","message":"GET /experiments/40b52867-066e-4265-bdd3-42e9e40922e5 200 11ms","method":"GET","requestID":"29ea72a9e887a39accb42ddb5ad5b242","responseTime":11,"status":200,"url":"/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1Mn0.HRlgnOMVS8z0LD7zAooFn_cPh4XhyMFbTIirEw5CWAs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ffa6340071469b1a8c6cc653f1c27d83","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/40b52867-066e-4265-bdd3-42e9e40922e5"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.687444,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458452,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1Mn0.HRlgnOMVS8z0LD7zAooFn_cPh4XhyMFbTIirEw5CWAs"} 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":"ffa6340071469b1a8c6cc653f1c27d83"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.714243,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458452,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1Mn0.HRlgnOMVS8z0LD7zAooFn_cPh4XhyMFbTIirEw5CWAs"} 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":"56c4bd50-18eb-11ef-97dd-97826c0d9de9"},"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/227912a3-c7ae-46be-a4b4-5d88de2cfbfa' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"227912a3-c7ae-46be-a4b4-5d88de2cfbfa","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":"e1a998cd669e6cdda6cb332313db02e9","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":"closed","url":"http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d"},{"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F227912a3-c7ae-46be-a4b4-5d88de2cfbfa': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F227912a3-c7ae-46be-a4b4-5d88de2cfbfa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"b909b9e7-38c7-451e-8eb9-7746c2492b25","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.4073713} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ff73b362c82c6d124e54e5f62f9a01a7","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/e94836d6-4895-4371-82c2-b64884e60e9d"},{"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa"}}},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17714a01-2949-4ef1-965d-d061e948c439","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.4078395} 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":"56c4bd50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"227912a3-c7ae-46be-a4b4-5d88de2cfbfa","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/227912a3-c7ae-46be-a4b4-5d88de2cfbfa 204 45ms","method":"DELETE","requestID":"56c4bd50-18eb-11ef-97dd-97826c0d9de9","responseTime":45,"status":204,"url":"/peerconnections/227912a3-c7ae-46be-a4b4-5d88de2cfbfa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe94836d6-4895-4371-82c2-b64884e60e9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39b1c2fc-5a5b-4708-9509-db099f5b2564","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.4606416} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.411848,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56cef680-18eb-11ef-97dd-97826c0d9de9"},"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/e94836d6-4895-4371-82c2-b64884e60e9d/signaling 200 9ms","method":"POST","requestID":"56cef680-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/e94836d6-4895-4371-82c2-b64884e60e9d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec8d1317-f7dc-485d-9e32-6e3502fdb69a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"532b66d3-f6d2-4cc2-aee5-1615a422b07f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.4723597} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.565758,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56d0a430-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40b52867-066e-4265-bdd3-42e9e40922e5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40b52867-066e-4265-bdd3-42e9e40922e5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"e2956ff1-e503-4c6d-a1c6-3943bcbf1fcd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.4734683} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e24fbc36-ab71-44d2-8682-28963c3c5955","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.4737365} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ffa6340071469b1a8c6cc653f1c27d83"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"POST /devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/signaling 200 11ms","method":"POST","requestID":"56d0a430-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/ec8d1317-f7dc-485d-9e32-6e3502fdb69a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/40b52867-066e-4265-bdd3-42e9e40922e5"} gateway-1 | {"time_local":"23/May/2024:10:00:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/40b52867-066e-4265-bdd3-42e9e40922e5 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":"ffa6340071469b1a8c6cc653f1c27d83"} experiment-1 | {"level":"info","message":"DELETE /experiments/40b52867-066e-4265-bdd3-42e9e40922e5 204 165ms","method":"DELETE","requestID":"ffa6340071469b1a8c6cc653f1c27d83","responseTime":165,"status":204,"url":"/experiments/40b52867-066e-4265-bdd3-42e9e40922e5"} gateway-1 | {"time_local":"23/May/2024:10:00:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"3.920","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b7ac803afafdf0d04cdb257236ad9326"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"e1a998cd669e6cdda6cb332313db02e9","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"e1a998cd669e6cdda6cb332313db02e9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"ff73b362c82c6d124e54e5f62f9a01a7","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"ff73b362c82c6d124e54e5f62f9a01a7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1Mn0.HRlgnOMVS8z0LD7zAooFn_cPh4XhyMFbTIirEw5CWAs","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:52Z"} gateway-1 | {"time_local":"23/May/2024:10:00:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"2.579","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5aebbe2a4db8ec420441c85be8f39eb0"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.852153,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:52Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e94836d6-4895-4371-82c2-b64884e60e9d' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"ba1f908e0f6288c56065331477acf204","responseTime":10,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458452,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1Mn0.HRlgnOMVS8z0LD7zAooFn_cPh4XhyMFbTIirEw5CWAs"} 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":"ba1f908e0f6288c56065331477acf204"},"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/ec8d1317-f7dc-485d-9e32-6e3502fdb69a' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5366fdb3-0174-467e-9291-1729b29f69f1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.5737467} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba1f908e0f6288c56065331477acf204"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1cd8640c-3f2b-4348-9c49-cadc0a8b5e76","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.5786927} 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":"ba1f908e0f6288c56065331477acf204"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"3126aebf-2bb7-4e0e-bd07-72300fe2fed0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.5895169} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d29af86-c051-429e-ad38-706723342109","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.5894473} 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":"ba1f908e0f6288c56065331477acf204"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.589470156Z"}]},"request_id":"1a7596a8-ba13-41fb-95d9-3fd0a2051231","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.5941052} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba1f908e0f6288c56065331477acf204"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba1f908e0f6288c56065331477acf204"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"ba1f908e0f6288c56065331477acf204","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1Mn0.HRlgnOMVS8z0LD7zAooFn_cPh4XhyMFbTIirEw5CWAs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5ca3be92e50683b6e94cbec9797d611e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.875193,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458452,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1Mn0.HRlgnOMVS8z0LD7zAooFn_cPh4XhyMFbTIirEw5CWAs"} 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":"5ca3be92e50683b6e94cbec9797d611e"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9e7c1168-9b1c-461a-8fd9-b983c1beb6f5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.6156402} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ca3be92e50683b6e94cbec9797d611e"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93a7e486-6511-4915-a07e-a62b3f0b0c94","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.6203182} 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":"5ca3be92e50683b6e94cbec9797d611e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"2b525e76-ce8c-4083-9c2d-c00c4082dff9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.6299083} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9699ec16-2036-46ec-ab62-eb60a66adfe9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.6301684} 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":"5ca3be92e50683b6e94cbec9797d611e"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.629876330Z"}]},"request_id":"403a678f-1442-4508-9df2-9929134d2916","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458452.6348035} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ca3be92e50683b6e94cbec9797d611e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ca3be92e50683b6e94cbec9797d611e"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"5ca3be92e50683b6e94cbec9797d611e","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1M30.WpZYwj_AWPmr9PoSlzLlxHJvAAqoODONI3pllhrf2rE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"01bafe4be2c809561790c63c9276b40c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668819,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458453,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1M30.WpZYwj_AWPmr9PoSlzLlxHJvAAqoODONI3pllhrf2rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01bafe4be2c809561790c63c9276b40c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.629876330Z"}]},"request_id":"9b5de686-2f80-4a27-bcab-14ac5d991ab1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458453.150419} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01bafe4be2c809561790c63c9276b40c"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90f3dc9e-2397-4025-bad6-e5b26429d43b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458453.1551476} 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":"01bafe4be2c809561790c63c9276b40c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.629876330Z"}]},"request_id":"afef0272-bb57-4cde-8d52-3a3df59f3f81","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458453.1792274} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01bafe4be2c809561790c63c9276b40c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"01bafe4be2c809561790c63c9276b40c"} device-1 | {"level":"info","message":"PATCH /devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84 200 40ms","method":"PATCH","requestID":"01bafe4be2c809561790c63c9276b40c","responseTime":40,"status":200,"url":"/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1M30.WpZYwj_AWPmr9PoSlzLlxHJvAAqoODONI3pllhrf2rE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2569848cc8a8025c13f65c8a5aae3699","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743241,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458453,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1M30.WpZYwj_AWPmr9PoSlzLlxHJvAAqoODONI3pllhrf2rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2569848cc8a8025c13f65c8a5aae3699"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84/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":"2569848cc8a8025c13f65c8a5aae3699"} device-1 | {"level":"info","message":"POST /devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84/websocket 200 16ms","method":"POST","requestID":"2569848cc8a8025c13f65c8a5aae3699","responseTime":16,"status":200,"url":"/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84' 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":"2c47882787bf44463f83268dc0f646f7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2c47882787bf44463f83268dc0f646f7"} device-1 | {"level":"info","message":"OPTIONS /devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/websocket 200 0ms","method":"OPTIONS","requestID":"2c47882787bf44463f83268dc0f646f7","responseTime":0,"status":200,"url":"/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"21bfa4d672e71a3e6d7673a7a287a2c1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685891,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458454,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21bfa4d672e71a3e6d7673a7a287a2c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"21bfa4d672e71a3e6d7673a7a287a2c1"} device-1 | {"level":"info","message":"POST /devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/websocket 200 19ms","method":"POST","requestID":"21bfa4d672e71a3e6d7673a7a287a2c1","responseTime":19,"status":200,"url":"/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"67c405f0644fe73bdb916436440c9424","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694956,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458454,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"67c405f0644fe73bdb916436440c9424"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.589470156Z"}]},"request_id":"a4d7c5a4-90be-440f-ac68-26923f742172","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.6030486} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"67c405f0644fe73bdb916436440c9424"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dae4f3d3-850f-4ca8-a46f-951c967f7763? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67c405f0644fe73bdb916436440c9424"} device-1 | {"level":"info","message":"GET /devices/dae4f3d3-850f-4ca8-a46f-951c967f7763? 200 10ms","method":"GET","requestID":"67c405f0644fe73bdb916436440c9424","responseTime":10,"status":200,"url":"/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e8c5dfb879af137849a2944753ba1c2b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.397566,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458454,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8c5dfb879af137849a2944753ba1c2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.629876330Z"}]},"request_id":"099a66a8-8c00-4d87-934c-a6328f4e9beb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.619415} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8c5dfb879af137849a2944753ba1c2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8c5dfb879af137849a2944753ba1c2b"} device-1 | {"level":"info","message":"GET /devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84? 200 11ms","method":"GET","requestID":"e8c5dfb879af137849a2944753ba1c2b","responseTime":11,"status":200,"url":"/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"86ac49056990424a7b835da847070125","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:60464","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.962861,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458454,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY"} 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":"86ac49056990424a7b835da847070125"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"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:60464","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608182,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458454,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58225180-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677556,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458454,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58227890-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.589470156Z"}]},"request_id":"8e2ad5d7-947a-4df1-ad59-2e98e60b9686","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.6888342} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58225180-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.629876330Z"}]},"request_id":"89ac6c1c-ae23-4bb2-93f6-74b2efe7feb1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.6895359} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58227890-18eb-11ef-97dd-97826c0d9de9"},"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/dae4f3d3-850f-4ca8-a46f-951c967f7763? 200 14ms","method":"GET","requestID":"58225180-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84? 200 14ms","method":"GET","requestID":"58227890-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"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:60464","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72808,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458454,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"582a40c0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.798898,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458454,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY"} 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":"582a8ee0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.37957,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"886ebef6-2572-49be-bc2d-3b9390b52f12","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.7416759} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"582add00-18eb-11ef-97dd-97826c0d9de9"},"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/dae4f3d3-850f-4ca8-a46f-951c967f7763/signaling 200 11ms","method":"POST","requestID":"582add00-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.629876330Z"}]},"request_id":"f7816024-09b8-4f89-9703-3d6e76c9a963","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.746712} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"582a8ee0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.589470156Z"}]},"request_id":"1403382a-9646-4780-8731-9c8202d9215e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.7477987} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"582a40c0-18eb-11ef-97dd-97826c0d9de9"},"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:60464","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84? 200 20ms","method":"GET","requestID":"582a8ee0-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12d2e746-d4d8-403e-8096-e51818638dac","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.7543983} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.460227,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dae4f3d3-850f-4ca8-a46f-951c967f7763? 200 23ms","method":"GET","requestID":"582a40c0-18eb-11ef-97dd-97826c0d9de9","responseTime":23,"status":200,"url":"/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"582cffe0-18eb-11ef-97dd-97826c0d9de9"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"676ac566-996a-4d72-b832-98593c0fa9e7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.755656} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F87147837-be09-4a19-b3c8-d54baae97b62#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F87147837-be09-4a19-b3c8-d54baae97b62","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"260b1f00-a48b-4948-8b3f-223035b5a367","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.7560852} 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":"86ac49056990424a7b835da847070125"},"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/63cc0a6f-de2d-4664-8402-a1c36d02dd84/signaling 200 10ms","method":"POST","requestID":"582cffe0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e2f01cd-a456-434c-95bf-13802e147d0f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.762611} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.3756,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"582e3860-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 137ms","method":"POST","requestID":"86ac49056990424a7b835da847070125","responseTime":137,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:10:00:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86ac49056990424a7b835da847070125"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/signaling 200 9ms","method":"POST","requestID":"582e3860-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bf86c4e61702419aeb875b6b33838a69","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"931ebb15-dfcb-4e21-bbdb-b189e63cf45b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.773199} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.252901,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","object_type":"device","rebac_allow":false,"scope_allow":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":"582fe610-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:38892","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.28093,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458454,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf86c4e61702419aeb875b6b33838a69"},"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/63cc0a6f-de2d-4664-8402-a1c36d02dd84/signaling 200 8ms","method":"POST","requestID":"582fe610-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"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":"f28432ad-5cb1-4aa9-838c-d15cf48ba441"},{"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":"1a8051fc-675d-458f-9565-01f81cfd15c0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f7c4c68d-4739-4e88-b13e-cd14442653ff"}]},"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/dae4f3d3-850f-4ca8-a46f-951c967f7763"},{"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/63cc0a6f-de2d-4664-8402-a1c36d02dd84"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.589470156Z"}]},"request_id":"f6df897b-043b-4a68-bd11-aea0f9859457","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.7806885} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf86c4e61702419aeb875b6b33838a69"},"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:60464","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.690302,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} gateway-1 | {"time_local":"23/May/2024:10:00:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dae4f3d3-850f-4ca8-a46f-951c967f7763? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf86c4e61702419aeb875b6b33838a69"} device-1 | {"level":"info","message":"GET /devices/dae4f3d3-850f-4ca8-a46f-951c967f7763? 200 12ms","method":"GET","requestID":"bf86c4e61702419aeb875b6b33838a69","responseTime":12,"status":200,"url":"/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458454,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY"} 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":"583193c0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fcc5255f559b7542f3955719275f4d53","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"eac4f6e6-d92a-4389-8a89-11bc49b64422","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.791044} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0c86032-fdfe-4817-90ed-521e2030917e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.7914045} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.878427,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} 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":"583193c0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458454,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1NH0.j1Eu3L4jbVt0haBl3Ea-J6q6mkx25trm46weuZK4MFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcc5255f559b7542f3955719275f4d53"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:52.629876330Z"}]},"request_id":"f7acbe94-d910-4ec3-8da6-baea6276bab2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.798614} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcc5255f559b7542f3955719275f4d53"},"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/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"583193c0-18eb-11ef-97dd-97826c0d9de9","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcc5255f559b7542f3955719275f4d53"} device-1 | {"level":"info","message":"GET /devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84? 200 18ms","method":"GET","requestID":"fcc5255f559b7542f3955719275f4d53","responseTime":18,"status":200,"url":"/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9bc4b88-5218-4d10-a0e6-485e98987032","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.843087} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.334275,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","object_type":"device","rebac_allow":false,"scope_allow":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":"583a9470-18eb-11ef-97dd-97826c0d9de9"},"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/dae4f3d3-850f-4ca8-a46f-951c967f7763/signaling 200 8ms","method":"POST","requestID":"583a9470-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fadb8f6a-e2b6-4b9a-b0cb-2fe8c0a42134","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458454.8537154} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.798348,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"583c1b10-18eb-11ef-97dd-97826c0d9de9"},"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/63cc0a6f-de2d-4664-8402-a1c36d02dd84/signaling 200 10ms","method":"POST","requestID":"583c1b10-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84/signaling"} device-1 | {"data":{"peerconnection":"834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","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/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763'"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a947365d30e3923da30fca1720ae6984","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/dae4f3d3-850f-4ca8-a46f-951c967f7763"},{"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/63cc0a6f-de2d-4664-8402-a1c36d02dd84"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"a947365d30e3923da30fca1720ae6984","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"a947365d30e3923da30fca1720ae6984"} device-1 | {"data":{"peerconnection":"834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","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/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","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":"8d3b408b1c2bb0ef4267696b486239e0","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/dae4f3d3-850f-4ca8-a46f-951c967f7763"},{"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/63cc0a6f-de2d-4664-8402-a1c36d02dd84"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:56Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f875d1ba-d46e-48d8-9bc4-170720f0fd68","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458456.995614} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.304037,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","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":"5982f2f0-18eb-11ef-97dd-97826c0d9de9"},"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/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5 200 8ms","method":"GET","requestID":"5982f2f0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"8d3b408b1c2bb0ef4267696b486239e0","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"8d3b408b1c2bb0ef4267696b486239e0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d47e0f98-5536-4d32-9308-a78832cd19ee","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.0182703} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.128754,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","object_type":"device","rebac_allow":false,"scope_allow":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":"59867560-18eb-11ef-97dd-97826c0d9de9"},"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/dae4f3d3-850f-4ca8-a46f-951c967f7763/signaling 200 8ms","method":"POST","requestID":"59867560-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f64eb9c2-d686-435c-bb28-5290e7f90c77","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.0287135} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.39329,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","object_type":"device","rebac_allow":false,"scope_allow":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":"5987fc00-18eb-11ef-97dd-97826c0d9de9"},"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/63cc0a6f-de2d-4664-8402-a1c36d02dd84/signaling 200 10ms","method":"POST","requestID":"5987fc00-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bdf9ed53de424606e6127f76b73a041c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/87147837-be09-4a19-b3c8-d54baae97b62"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.661063,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458457,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A"} 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":"bdf9ed53de424606e6127f76b73a041c"},"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/87147837-be09-4a19-b3c8-d54baae97b62"} experiment-1 | {"level":"info","message":"GET /experiments/87147837-be09-4a19-b3c8-d54baae97b62 200 10ms","method":"GET","requestID":"bdf9ed53de424606e6127f76b73a041c","responseTime":10,"status":200,"url":"/experiments/87147837-be09-4a19-b3c8-d54baae97b62"} gateway-1 | {"time_local":"23/May/2024:10:00:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/87147837-be09-4a19-b3c8-d54baae97b62 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bdf9ed53de424606e6127f76b73a041c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7005bcf549d6f90136505bf090f18c9d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/87147837-be09-4a19-b3c8-d54baae97b62"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.455696,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458457,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A"} 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":"7005bcf549d6f90136505bf090f18c9d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.641447,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458457,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A"} 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":"5992f880-18eb-11ef-97dd-97826c0d9de9"},"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/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F834e6eb1-e80d-44a6-94ec-27a42fa5bdc5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"436f88a0-1e7e-434c-8d67-c0d4aee5ee4f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.109497} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"477e12ca-fb8b-46b3-b9a0-2782da4a5d15","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.1097922} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f16f99dd2946dc25ce1eb18edaee5847","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5992f880-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763"},{"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/63cc0a6f-de2d-4664-8402-a1c36d02dd84"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"feadf9a806b3ced79721109d33a93967","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/dae4f3d3-850f-4ca8-a46f-951c967f7763"},{"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/63cc0a6f-de2d-4664-8402-a1c36d02dd84"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"834e6eb1-e80d-44a6-94ec-27a42fa5bdc5","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/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5 204 49ms","method":"DELETE","requestID":"5992f880-18eb-11ef-97dd-97826c0d9de9","responseTime":49,"status":204,"url":"/peerconnections/834e6eb1-e80d-44a6-94ec-27a42fa5bdc5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87147837-be09-4a19-b3c8-d54baae97b62"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdae4f3d3-850f-4ca8-a46f-951c967f7763","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64299bb3-04a8-43b2-99ea-f8fbbc2e2ad8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.1646614} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.54931,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"599cbc80-18eb-11ef-97dd-97826c0d9de9"},"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/dae4f3d3-850f-4ca8-a46f-951c967f7763/signaling 200 9ms","method":"POST","requestID":"599cbc80-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/dae4f3d3-850f-4ca8-a46f-951c967f7763/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F87147837-be09-4a19-b3c8-d54baae97b62': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F87147837-be09-4a19-b3c8-d54baae97b62","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"553017b0-6481-4aa3-b8d0-fca087bab475","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.170092} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70b11c60-0778-4e59-8dc8-f7290ddd2ee1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.1704922} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7005bcf549d6f90136505bf090f18c9d"},"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:60464","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63cc0a6f-de2d-4664-8402-a1c36d02dd84","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ce2a733-5ad1-4397-8320-8a3beb0e1c93","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.1760504} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.349084,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84","object_type":"device","rebac_allow":false,"scope_allow":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":"599e9140-18eb-11ef-97dd-97826c0d9de9"},"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/63cc0a6f-de2d-4664-8402-a1c36d02dd84/signaling 200 8ms","method":"POST","requestID":"599e9140-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/87147837-be09-4a19-b3c8-d54baae97b62"} gateway-1 | {"time_local":"23/May/2024:10:00:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/87147837-be09-4a19-b3c8-d54baae97b62 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7005bcf549d6f90136505bf090f18c9d"} experiment-1 | {"level":"info","message":"DELETE /experiments/87147837-be09-4a19-b3c8-d54baae97b62 204 135ms","method":"DELETE","requestID":"7005bcf549d6f90136505bf090f18c9d","responseTime":135,"status":204,"url":"/experiments/87147837-be09-4a19-b3c8-d54baae97b62"} gateway-1 | {"time_local":"23/May/2024:10:00:57 +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.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"094fa582e77536622b9db860dea4e112"} gateway-1 | {"time_local":"23/May/2024:10:00: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.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"f16f99dd2946dc25ce1eb18edaee5847"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f83904bb414144bfca1fe57d4fb3b646","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"f16f99dd2946dc25ce1eb18edaee5847","responseTime":113,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"feadf9a806b3ced79721109d33a93967","responseTime":113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:00: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.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"feadf9a806b3ced79721109d33a93967"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:00: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.654","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8daababb8d5420457c0268bb8f4644c7"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.916713,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458457,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A"} 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":"f83904bb414144bfca1fe57d4fb3b646"},"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/dae4f3d3-850f-4ca8-a46f-951c967f7763' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/63cc0a6f-de2d-4664-8402-a1c36d02dd84' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"13eeeda6-e4a7-4b82-b876-07f3a97e4496","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.2642982} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f83904bb414144bfca1fe57d4fb3b646"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca63c3e8-78ed-43f4-b40e-4a363734c647","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.2696054} 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":"f83904bb414144bfca1fe57d4fb3b646"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"7865ae31-c1ef-4a20-aab4-436587782ac4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.2789724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"424ed4b8-c053-4e53-9b15-9aa020b69382","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.2793326} 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":"f83904bb414144bfca1fe57d4fb3b646"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.278948792Z"}]},"request_id":"aa285284-de36-4926-be8b-5f6d9503737b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.2838507} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f83904bb414144bfca1fe57d4fb3b646"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f83904bb414144bfca1fe57d4fb3b646"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"f83904bb414144bfca1fe57d4fb3b646","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b92dc55abee3baac83a3911df64764ee","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.72279,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458457,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A"} 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":"b92dc55abee3baac83a3911df64764ee"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5f2896f2-a1d0-4dbd-895c-e3215c592838","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.3072038} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b92dc55abee3baac83a3911df64764ee"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ad9fea9-4d5c-4231-ab00-1cb2583d48ef","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.3120594} 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":"b92dc55abee3baac83a3911df64764ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"d76ac5c2-8485-441f-8f05-42189921323c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.3211946} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe497f1c-bda2-4da2-8901-302f79fa9316","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.3219736} 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":"b92dc55abee3baac83a3911df64764ee"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.321154030Z"}]},"request_id":"f83bc58f-adf1-4579-8576-f1c71a72c4d9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.3254857} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b92dc55abee3baac83a3911df64764ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b92dc55abee3baac83a3911df64764ee"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"b92dc55abee3baac83a3911df64764ee","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"219aa91fae013b292f80d892b739c2a0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692072,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458457,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"219aa91fae013b292f80d892b739c2a0"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.278948792Z"}]},"request_id":"3e7d6131-8985-4d32-9da2-a5d7743b1c92","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.844155} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"219aa91fae013b292f80d892b739c2a0"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"208ccf00-6ebc-4cf7-9ded-05bd34e2df02","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.8489194} 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":"219aa91fae013b292f80d892b739c2a0"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.278948792Z"}]},"request_id":"d5e803f8-8f43-4730-b3d0-4c56ca3ee8fa","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458457.8784978} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"219aa91fae013b292f80d892b739c2a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"219aa91fae013b292f80d892b739c2a0"} device-1 | {"level":"info","message":"PATCH /devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7 200 46ms","method":"PATCH","requestID":"219aa91fae013b292f80d892b739c2a0","responseTime":46,"status":200,"url":"/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4db05616a434b7b51224e15eb90ecfce","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751565,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458457,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1N30.EjY7s1mX2iNLZs7dmL_vl2UeltcXF6rPSnA2u2ULF8A"} 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":"4db05616a434b7b51224e15eb90ecfce"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/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":"4db05616a434b7b51224e15eb90ecfce"} device-1 | {"level":"info","message":"POST /devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/websocket 200 14ms","method":"POST","requestID":"4db05616a434b7b51224e15eb90ecfce","responseTime":14,"status":200,"url":"/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7' 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":"cab8174257eb2b082d26669d60bea3c9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3107c586-c7e8-461c-b123-03eb8367b207/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cab8174257eb2b082d26669d60bea3c9"} device-1 | {"level":"info","message":"OPTIONS /devices/3107c586-c7e8-461c-b123-03eb8367b207/websocket 200 1ms","method":"OPTIONS","requestID":"cab8174257eb2b082d26669d60bea3c9","responseTime":1,"status":200,"url":"/devices/3107c586-c7e8-461c-b123-03eb8367b207/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c0b4fc41671c5e64cff72c470362b460","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679915,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458459,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI"} 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":"c0b4fc41671c5e64cff72c470362b460"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3107c586-c7e8-461c-b123-03eb8367b207/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":"c0b4fc41671c5e64cff72c470362b460"} device-1 | {"level":"info","message":"POST /devices/3107c586-c7e8-461c-b123-03eb8367b207/websocket 200 28ms","method":"POST","requestID":"c0b4fc41671c5e64cff72c470362b460","responseTime":28,"status":200,"url":"/devices/3107c586-c7e8-461c-b123-03eb8367b207/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4e7f4509d560735781c125eea18a5baf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723813,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458459,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI"} 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":"4e7f4509d560735781c125eea18a5baf"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.278948792Z"}]},"request_id":"ca992838-dda0-4a27-93e6-05918cb656e3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.2939177} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e7f4509d560735781c125eea18a5baf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e7f4509d560735781c125eea18a5baf"} device-1 | {"level":"info","message":"GET /devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7? 200 11ms","method":"GET","requestID":"4e7f4509d560735781c125eea18a5baf","responseTime":11,"status":200,"url":"/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2f2b7ba2503bc5d6b1956d741c443b97","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761054,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458459,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2f2b7ba2503bc5d6b1956d741c443b97"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.321154030Z"}]},"request_id":"aa179a0e-1210-46ed-8fd1-5780d917c04d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.3098216} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2f2b7ba2503bc5d6b1956d741c443b97"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3107c586-c7e8-461c-b123-03eb8367b207? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f2b7ba2503bc5d6b1956d741c443b97"} device-1 | {"level":"info","message":"GET /devices/3107c586-c7e8-461c-b123-03eb8367b207? 200 11ms","method":"GET","requestID":"2f2b7ba2503bc5d6b1956d741c443b97","responseTime":11,"status":200,"url":"/devices/3107c586-c7e8-461c-b123-03eb8367b207?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cb9a058193f589b59daaa399c4380dcf","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:60464","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.945626,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458459,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI"} 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":"cb9a058193f589b59daaa399c4380dcf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"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:60464","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.428016,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458459,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aea4b20-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804896,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458459,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI"} 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":"5aea7230-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.278948792Z"}]},"request_id":"d8d98fd4-8fab-4e43-949e-418db93c301a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.354291} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aea4b20-18eb-11ef-97dd-97826c0d9de9"},"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/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7? 200 12ms","method":"GET","requestID":"5aea4b20-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.321154030Z"}]},"request_id":"0c879ef7-0373-44e5-8286-95b9ac55e526","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.358663} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aea7230-18eb-11ef-97dd-97826c0d9de9"},"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/3107c586-c7e8-461c-b123-03eb8367b207? 200 14ms","method":"GET","requestID":"5aea7230-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/3107c586-c7e8-461c-b123-03eb8367b207?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"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/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.833978,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458459,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5af1ec40-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708839,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458459,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI"} 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":"5af23a60-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:50002","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.278948792Z"}]},"request_id":"ee816ff3-25c3-4e37-ab65-d547c20d6e42","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.407831} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e250f55-6f9d-4a44-b8f7-8c1fe97ef78a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.4082422} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5af1ec40-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.321154030Z"}]},"request_id":"a67ca983-2841-4b98-a639-bb61574d0d46","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.4088933} authorization-1 | {"client_addr":"127.0.0.1:50002","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.598817,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","object_type":"device","rebac_allow":false,"scope_allow":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":"5af26170-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5af23a60-18eb-11ef-97dd-97826c0d9de9"},"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/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7? 200 17ms","method":"GET","requestID":"5af1ec40-18eb-11ef-97dd-97826c0d9de9","responseTime":17,"status":200,"url":"/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/signaling 200 17ms","method":"POST","requestID":"5af26170-18eb-11ef-97dd-97826c0d9de9","responseTime":17,"status":200,"url":"/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3107c586-c7e8-461c-b123-03eb8367b207? 200 19ms","method":"GET","requestID":"5af23a60-18eb-11ef-97dd-97826c0d9de9","responseTime":19,"status":200,"url":"/devices/3107c586-c7e8-461c-b123-03eb8367b207?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a8c529a-b17b-400c-bd75-373b801a9d73#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a8c529a-b17b-400c-bd75-373b801a9d73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"c31eed52-7001-4db0-b140-28c82d5917b1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.4180593} 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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff07583a-ba32-4e94-b596-ec6b80c60a39","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.418414} 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":"cb9a058193f589b59daaa399c4380dcf"},"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:60464","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19705555-5dd9-440d-835b-7e8fb7b1dd39","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.423742} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.876564,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","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/7a8c529a-b17b-400c-bd75-373b801a9d73","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /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":"5af547a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a85bb1ba-1547-4d46-9d1f-d0abb019cee7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.425453} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.291325,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} gateway-1 | {"time_local":"23/May/2024:10:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.112","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb9a058193f589b59daaa399c4380dcf"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 108ms","method":"POST","requestID":"cb9a058193f589b59daaa399c4380dcf","responseTime":108,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5af595c0-18eb-11ef-97dd-97826c0d9de9"},"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/3107c586-c7e8-461c-b123-03eb8367b207/signaling 200 12ms","method":"POST","requestID":"5af547a0-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/3107c586-c7e8-461c-b123-03eb8367b207/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"35497f429df04f057e1649250e3882fe","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/signaling 200 12ms","method":"POST","requestID":"5af595c0-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938503,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458459,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35497f429df04f057e1649250e3882fe"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"11121653-649f-4b3e-8b0f-55af11e591e0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.437203} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.179218,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","object_type":"device","rebac_allow":false,"scope_allow":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":"5af79190-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.278948792Z"}]},"request_id":"dcd13327-b5f2-4fde-8ee6-297d79b73f41","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.441057} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3107c586-c7e8-461c-b123-03eb8367b207/signaling 200 8ms","method":"POST","requestID":"5af79190-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/3107c586-c7e8-461c-b123-03eb8367b207/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":"35497f429df04f057e1649250e3882fe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"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":"a378cb4f-91dc-4b58-936b-bf0632db173e"},{"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":"8575306c-717c-40aa-bc8d-363ee5acddcd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e8358803-46b0-4304-989d-5e897c57075b"}]},"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/3107c586-c7e8-461c-b123-03eb8367b207"},{"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/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"35497f429df04f057e1649250e3882fe"} device-1 | {"level":"info","message":"GET /devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7? 200 14ms","method":"GET","requestID":"35497f429df04f057e1649250e3882fe","responseTime":14,"status":200,"url":"/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.868322,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458459,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI"} 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":"5af93f40-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b3669862642596d36a8a80ff5a2a084e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76224,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458459,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ1OX0.oIsLlWuEOe58j56yNlWkyV9IKg-IivlSuTh677a4raI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3669862642596d36a8a80ff5a2a084e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"3771b758-3cbf-4729-b430-8bbaca470333","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.4613566} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d80da31-264f-4c03-b7c3-ae66317c2706","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.4617157} 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":"5af93f40-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:00:57.321154030Z"}]},"request_id":"fd3424fc-adf6-4cb0-9bf4-443e76ffed49","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.4632525} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3669862642596d36a8a80ff5a2a084e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3107c586-c7e8-461c-b123-03eb8367b207? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3669862642596d36a8a80ff5a2a084e"} device-1 | {"level":"info","message":"GET /devices/3107c586-c7e8-461c-b123-03eb8367b207? 200 18ms","method":"GET","requestID":"b3669862642596d36a8a80ff5a2a084e","responseTime":18,"status":200,"url":"/devices/3107c586-c7e8-461c-b123-03eb8367b207?"} 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/233f38bc-d426-43ee-b099-36ba6407a9cb'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 46ms","method":"POST","requestID":"5af93f40-18eb-11ef-97dd-97826c0d9de9","responseTime":46,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"11dff729-189c-4a71-b843-b30fbf1d005b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.5222716} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.785785,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","object_type":"device","rebac_allow":false,"scope_allow":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":"5b0462d0-18eb-11ef-97dd-97826c0d9de9"},"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/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/signaling 200 9ms","method":"POST","requestID":"5b0462d0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e66d484-54d7-414f-96c2-b7d347ac6d9d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458459.5332808} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.268173,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:00:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","object_type":"device","rebac_allow":false,"scope_allow":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":"5b063790-18eb-11ef-97dd-97826c0d9de9"},"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/3107c586-c7e8-461c-b123-03eb8367b207/signaling 200 8ms","method":"POST","requestID":"5b063790-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/3107c586-c7e8-461c-b123-03eb8367b207/signaling"} device-1 | {"data":{"peerconnection":"233f38bc-d426-43ee-b099-36ba6407a9cb","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/233f38bc-d426-43ee-b099-36ba6407a9cb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"233f38bc-d426-43ee-b099-36ba6407a9cb","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/3107c586-c7e8-461c-b123-03eb8367b207'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"81907460c076da834348e9bc41011f98","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/3107c586-c7e8-461c-b123-03eb8367b207"},{"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/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"81907460c076da834348e9bc41011f98","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"81907460c076da834348e9bc41011f98"} device-1 | {"data":{"peerconnection":"233f38bc-d426-43ee-b099-36ba6407a9cb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"233f38bc-d426-43ee-b099-36ba6407a9cb","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/233f38bc-d426-43ee-b099-36ba6407a9cb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"233f38bc-d426-43ee-b099-36ba6407a9cb","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":"2d84bd078dad6604cb9b7ce6117b17e9","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/3107c586-c7e8-461c-b123-03eb8367b207"},{"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/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F233f38bc-d426-43ee-b099-36ba6407a9cb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"615dc88d-3c86-4739-83dc-5ec3b02293fc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.6741505} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.069623,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb","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":"5c4ce860-18eb-11ef-97dd-97826c0d9de9"},"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/233f38bc-d426-43ee-b099-36ba6407a9cb 200 7ms","method":"GET","requestID":"5c4ce860-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":200,"url":"/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"2d84bd078dad6604cb9b7ce6117b17e9","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"2d84bd078dad6604cb9b7ce6117b17e9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eafecbf9-59c6-4cd0-a4f3-b6d76214ffea","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.694801} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.048781,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","object_type":"device","rebac_allow":false,"scope_allow":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":"5c501cb0-18eb-11ef-97dd-97826c0d9de9"},"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/3107c586-c7e8-461c-b123-03eb8367b207/signaling 200 7ms","method":"POST","requestID":"5c501cb0-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":200,"url":"/devices/3107c586-c7e8-461c-b123-03eb8367b207/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84b25e46-f9da-44df-ab26-2ecfde34ff52","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.704501} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.202521,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c517c40-18eb-11ef-97dd-97826c0d9de9"},"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/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/signaling 200 8ms","method":"POST","requestID":"5c517c40-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2MX0.baZCK0XmCoNnGrIBYNTNNyME2OaJJX02ccY45LMKW0M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c29174f04899c1c14a8aafd425740766","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.704808,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458461,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2MX0.baZCK0XmCoNnGrIBYNTNNyME2OaJJX02ccY45LMKW0M"} 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":"c29174f04899c1c14a8aafd425740766"},"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/7a8c529a-b17b-400c-bd75-373b801a9d73"} gateway-1 | {"time_local":"23/May/2024:10:01:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7a8c529a-b17b-400c-bd75-373b801a9d73 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c29174f04899c1c14a8aafd425740766"} experiment-1 | {"level":"info","message":"GET /experiments/7a8c529a-b17b-400c-bd75-373b801a9d73 200 11ms","method":"GET","requestID":"c29174f04899c1c14a8aafd425740766","responseTime":11,"status":200,"url":"/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2MX0.baZCK0XmCoNnGrIBYNTNNyME2OaJJX02ccY45LMKW0M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8268a94decffa3911104fc1938b2d0d7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.691511,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458461,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2MX0.baZCK0XmCoNnGrIBYNTNNyME2OaJJX02ccY45LMKW0M"} 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":"8268a94decffa3911104fc1938b2d0d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.89757,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458461,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2MX0.baZCK0XmCoNnGrIBYNTNNyME2OaJJX02ccY45LMKW0M"} 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":"5c5c0390-18eb-11ef-97dd-97826c0d9de9"},"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/233f38bc-d426-43ee-b099-36ba6407a9cb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"233f38bc-d426-43ee-b099-36ba6407a9cb","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F233f38bc-d426-43ee-b099-36ba6407a9cb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F233f38bc-d426-43ee-b099-36ba6407a9cb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"ef99274f-787c-4470-ad5c-7031262730c5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.7836802} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8249250160c61418ebc11ee77956e4f5","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207"},{"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/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c71d575bf6191c460403b634b50be766","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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1679f9e-9d03-4b19-b5a3-62f250f9bd29","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.7840545} 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/3107c586-c7e8-461c-b123-03eb8367b207"},{"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/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c5c0390-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb 204 47ms","method":"DELETE","requestID":"5c5c0390-18eb-11ef-97dd-97826c0d9de9","responseTime":47,"status":204,"url":"/peerconnections/233f38bc-d426-43ee-b099-36ba6407a9cb"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3107c586-c7e8-461c-b123-03eb8367b207","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aff073ca-b099-4432-a9c0-ba6b4045e6e8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.83432} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.043513,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207","object_type":"device","rebac_allow":false,"scope_allow":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":"5c655260-18eb-11ef-97dd-97826c0d9de9"},"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/3107c586-c7e8-461c-b123-03eb8367b207/signaling 200 8ms","method":"POST","requestID":"5c655260-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/3107c586-c7e8-461c-b123-03eb8367b207/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95fff6f9-5d81-4fe6-8e88-429579d80df1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.8446136} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a8c529a-b17b-400c-bd75-373b801a9d73': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a8c529a-b17b-400c-bd75-373b801a9d73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"84094a96-99f4-45d2-8638-79c2568c7e5f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.8448262} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7eba4e8-923f-452c-8a58-18ec281588eb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.8449714} 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":"8268a94decffa3911104fc1938b2d0d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.04115,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7","object_type":"device","rebac_allow":false,"scope_allow":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":"5c66b1f0-18eb-11ef-97dd-97826c0d9de9"},"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/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/signaling 200 10ms","method":"POST","requestID":"5c66b1f0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"} gateway-1 | {"time_local":"23/May/2024:10:01:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7a8c529a-b17b-400c-bd75-373b801a9d73 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8268a94decffa3911104fc1938b2d0d7"} experiment-1 | {"level":"info","message":"DELETE /experiments/7a8c529a-b17b-400c-bd75-373b801a9d73 204 129ms","method":"DELETE","requestID":"8268a94decffa3911104fc1938b2d0d7","responseTime":129,"status":204,"url":"/experiments/7a8c529a-b17b-400c-bd75-373b801a9d73"} gateway-1 | {"time_local":"23/May/2024:10:01:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2801","request_time":"3.988","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f90eeb556c11775e063861e4a0947522"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 109ms","method":"POST","requestID":"8249250160c61418ebc11ee77956e4f5","responseTime":109,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.113","http_referrer":"","http_user_agent":"node-fetch","requestID":"8249250160c61418ebc11ee77956e4f5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 109ms","method":"POST","requestID":"c71d575bf6191c460403b634b50be766","responseTime":109,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.114","http_referrer":"","http_user_agent":"node-fetch","requestID":"c71d575bf6191c460403b634b50be766"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2MX0.baZCK0XmCoNnGrIBYNTNNyME2OaJJX02ccY45LMKW0M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"7cd68028df1539105364a21e625f8966","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:01:01 +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.635","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"81adf490068b41721d485a17a4d56910"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7bcce3bd-0ef0-45f6-94bd-c60dc37eb7b7' closed"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.937086,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458461,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2MX0.baZCK0XmCoNnGrIBYNTNNyME2OaJJX02ccY45LMKW0M"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cd68028df1539105364a21e625f8966"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3107c586-c7e8-461c-b123-03eb8367b207' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"587c0afa-897f-47fa-9b01-58402221b11c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.924578} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cd68028df1539105364a21e625f8966"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"feb865c4-7a4d-48b6-8929-2adc7e630fe1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.929769} 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":"7cd68028df1539105364a21e625f8966"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"62f81cc1-e373-4c84-a5a1-6ecdd23d2425","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.9421072} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ade77f2-d83a-4fab-a8cc-c9d73f7b9611","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.9423797} 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":"7cd68028df1539105364a21e625f8966"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:01.942075637Z"}]},"request_id":"184ecbbd-6680-4e16-9d9e-a3e6cca8dd75","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.946773} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cd68028df1539105364a21e625f8966"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7cd68028df1539105364a21e625f8966"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"7cd68028df1539105364a21e625f8966","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2MX0.baZCK0XmCoNnGrIBYNTNNyME2OaJJX02ccY45LMKW0M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cee17dfb6ca9d8038635f2d827587073","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.707423,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458461,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2MX0.baZCK0XmCoNnGrIBYNTNNyME2OaJJX02ccY45LMKW0M"} 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":"cee17dfb6ca9d8038635f2d827587073"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"227afc6e-5930-43e7-8f95-b5691b157706","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.9724193} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cee17dfb6ca9d8038635f2d827587073"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbd8251b-9917-4214-b4e0-57fc064f17bf","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458461.978105} 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":"cee17dfb6ca9d8038635f2d827587073"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"8685af7f-517e-455f-a5ba-6a129bb0e304","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458462.0176384} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7faa8db4-673a-4a4c-90d6-6e889475e779","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458462.0177948} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cee17dfb6ca9d8038635f2d827587073"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":42}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:02.017615172Z"}]},"request_id":"ff4eee3a-4c7d-426a-83d3-9490d4fbb79e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458462.0220966} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cee17dfb6ca9d8038635f2d827587073"},"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 69ms","method":"POST","requestID":"cee17dfb6ca9d8038635f2d827587073","responseTime":69,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:01:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cee17dfb6ca9d8038635f2d827587073"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Mn0.INWR4m6wYAhZxBYbqioOZsepSBK_RwVXeewEEh25p1w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"63bd3b2b69db8c09dd734837ef859fa1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:02Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323076,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458462,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Mn0.INWR4m6wYAhZxBYbqioOZsepSBK_RwVXeewEEh25p1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63bd3b2b69db8c09dd734837ef859fa1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:01.942075637Z"}]},"request_id":"f2bfeb95-f7fb-4665-982e-27fb9a206339","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458462.532399} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63bd3b2b69db8c09dd734837ef859fa1"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76631b30-b0a9-4e5a-8d6b-ee9c1568bae1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458462.5377946} 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":"63bd3b2b69db8c09dd734837ef859fa1"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:01.942075637Z"}]},"request_id":"27053c45-bb43-44e9-82e5-19b305d6d850","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458462.551592} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63bd3b2b69db8c09dd734837ef859fa1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/36120ecd-48b3-434f-8399-37d2d97175c1 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"63bd3b2b69db8c09dd734837ef859fa1"} device-1 | {"level":"info","message":"PATCH /devices/36120ecd-48b3-434f-8399-37d2d97175c1 200 31ms","method":"PATCH","requestID":"63bd3b2b69db8c09dd734837ef859fa1","responseTime":31,"status":200,"url":"/devices/36120ecd-48b3-434f-8399-37d2d97175c1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Mn0.INWR4m6wYAhZxBYbqioOZsepSBK_RwVXeewEEh25p1w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ea71d6193a9dfcf472ab3d3ad53ed73d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:02Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672952,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458462,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Mn0.INWR4m6wYAhZxBYbqioOZsepSBK_RwVXeewEEh25p1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea71d6193a9dfcf472ab3d3ad53ed73d"},"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/36120ecd-48b3-434f-8399-37d2d97175c1/websocket 200 14ms","method":"POST","requestID":"ea71d6193a9dfcf472ab3d3ad53ed73d","responseTime":14,"status":200,"url":"/devices/36120ecd-48b3-434f-8399-37d2d97175c1/websocket"} gateway-1 | {"time_local":"23/May/2024:10:01:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/36120ecd-48b3-434f-8399-37d2d97175c1/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":"ea71d6193a9dfcf472ab3d3ad53ed73d"} device-1 | {"level":"info","message":"device 'http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1' 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":"9a5d3aab42e2752296bdb6faaccd05d7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:01:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4ec9299a-6e18-45e2-a728-05705395fe45/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9a5d3aab42e2752296bdb6faaccd05d7"} device-1 | {"level":"info","message":"OPTIONS /devices/4ec9299a-6e18-45e2-a728-05705395fe45/websocket 200 0ms","method":"OPTIONS","requestID":"9a5d3aab42e2752296bdb6faaccd05d7","responseTime":0,"status":200,"url":"/devices/4ec9299a-6e18-45e2-a728-05705395fe45/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1db3fcadda1966f3dabaf097f23d474c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732885,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458463,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8"} 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":"1db3fcadda1966f3dabaf097f23d474c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/4ec9299a-6e18-45e2-a728-05705395fe45/websocket 200 23ms","method":"POST","requestID":"1db3fcadda1966f3dabaf097f23d474c","responseTime":23,"status":200,"url":"/devices/4ec9299a-6e18-45e2-a728-05705395fe45/websocket"} gateway-1 | {"time_local":"23/May/2024:10:01:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4ec9299a-6e18-45e2-a728-05705395fe45/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":"1db3fcadda1966f3dabaf097f23d474c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ede9e1b326a636793055423604a4fff4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697076,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458463,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ede9e1b326a636793055423604a4fff4"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:01.942075637Z"}]},"request_id":"62d8fa2a-4232-44bb-b994-7d95afb64e35","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458463.96461} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ede9e1b326a636793055423604a4fff4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/36120ecd-48b3-434f-8399-37d2d97175c1? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ede9e1b326a636793055423604a4fff4"} device-1 | {"level":"info","message":"GET /devices/36120ecd-48b3-434f-8399-37d2d97175c1? 200 12ms","method":"GET","requestID":"ede9e1b326a636793055423604a4fff4","responseTime":12,"status":200,"url":"/devices/36120ecd-48b3-434f-8399-37d2d97175c1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d2b7a6eb77f0162121f21fde31f3e005","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.738438,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458463,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2b7a6eb77f0162121f21fde31f3e005"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:02.017615172Z"}]},"request_id":"91ad4462-c712-4cef-b233-dd3414ac6df3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458463.9808185} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2b7a6eb77f0162121f21fde31f3e005"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ec9299a-6e18-45e2-a728-05705395fe45? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2b7a6eb77f0162121f21fde31f3e005"} device-1 | {"level":"info","message":"GET /devices/4ec9299a-6e18-45e2-a728-05705395fe45? 200 12ms","method":"GET","requestID":"d2b7a6eb77f0162121f21fde31f3e005","responseTime":12,"status":200,"url":"/devices/4ec9299a-6e18-45e2-a728-05705395fe45?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"96ebcd4a8794bd25ea472e3c634ac090","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:60464","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.697737,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458463,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8"} 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":"96ebcd4a8794bd25ea472e3c634ac090"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"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:60464","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65737,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458463,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5db30810-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643968,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458463,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5db32f20-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:01.942075637Z"}]},"request_id":"9ab4f8df-23e4-4bdf-8509-3600169aff41","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.0258155} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5db30810-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:02.017615172Z"}]},"request_id":"1f0c17ba-df95-404d-8ed8-6dc28a3ce966","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.0267148} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5db32f20-18eb-11ef-97dd-97826c0d9de9"},"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/36120ecd-48b3-434f-8399-37d2d97175c1? 200 13ms","method":"GET","requestID":"5db30810-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/36120ecd-48b3-434f-8399-37d2d97175c1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4ec9299a-6e18-45e2-a728-05705395fe45? 200 13ms","method":"GET","requestID":"5db32f20-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/4ec9299a-6e18-45e2-a728-05705395fe45?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"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/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.8091,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458463,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5dbbe1b0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.57461,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"client_addr":"127.0.0.1:50002","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458463,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8"} 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":"5dbc08c0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:50002","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.27144,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed49cef9-e478-42e3-a08d-0f5ddeed196f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.0838075} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","object_type":"device","rebac_allow":false,"scope_allow":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":"5dbc2fd0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:01.942075637Z"}]},"request_id":"084ccaa0-a301-4919-add6-d5dc9ba33999","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.0867476} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/36120ecd-48b3-434f-8399-37d2d97175c1/signaling 200 13ms","method":"POST","requestID":"5dbc2fd0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/36120ecd-48b3-434f-8399-37d2d97175c1/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":"5dbbe1b0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:02.017615172Z"}]},"request_id":"5dae828e-f3f7-458c-bcbe-33d8e686695d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.0902684} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5dbc08c0-18eb-11ef-97dd-97826c0d9de9"},"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/36120ecd-48b3-434f-8399-37d2d97175c1? 200 20ms","method":"GET","requestID":"5dbbe1b0-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":200,"url":"/devices/36120ecd-48b3-434f-8399-37d2d97175c1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1a7b817-9b34-40ca-aff0-355a52082c79#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1a7b817-9b34-40ca-aff0-355a52082c79","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"3c3edc5a-9b5f-46ac-9f40-4c151b0376ac","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.0960248} device-1 | {"level":"info","message":"GET /devices/4ec9299a-6e18-45e2-a728-05705395fe45? 200 21ms","method":"GET","requestID":"5dbc08c0-18eb-11ef-97dd-97826c0d9de9","responseTime":21,"status":200,"url":"/devices/4ec9299a-6e18-45e2-a728-05705395fe45?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b5a485e-9272-490c-9938-8b81c8abe301","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.096354} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} 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":"96ebcd4a8794bd25ea472e3c634ac090"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8cc9cce0-3a12-4b49-bdc4-27e2b8c3d0bc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.0990577} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.999265,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","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":"5dbea0d0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4ec9299a-6e18-45e2-a728-05705395fe45/signaling 200 11ms","method":"POST","requestID":"5dbea0d0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/4ec9299a-6e18-45e2-a728-05705395fe45/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87a1ea48-2d15-4384-93ae-3a3f1db8053a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.105401} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.833436,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5dbf8b30-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:01:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96ebcd4a8794bd25ea472e3c634ac090"} experiment-1 | {"level":"info","message":"POST /experiments? 201 120ms","method":"POST","requestID":"96ebcd4a8794bd25ea472e3c634ac090","responseTime":120,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/36120ecd-48b3-434f-8399-37d2d97175c1/signaling 200 11ms","method":"POST","requestID":"5dbf8b30-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/36120ecd-48b3-434f-8399-37d2d97175c1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2NH0.DiQajezwEdzHt7Ee6N61-WyUG89ODWSXAoTkHKYmvbA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"47bbd64a47e55ae1fe6b6e829cd20afb","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"11deb900-1ceb-41ea-85d9-aef9fe25a5c5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.1157238} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.383541,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","object_type":"device","rebac_allow":false,"scope_allow":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":"5dc15ff0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975666,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458464,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2NH0.DiQajezwEdzHt7Ee6N61-WyUG89ODWSXAoTkHKYmvbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47bbd64a47e55ae1fe6b6e829cd20afb"},"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/4ec9299a-6e18-45e2-a728-05705395fe45/signaling 200 12ms","method":"POST","requestID":"5dc15ff0-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/4ec9299a-6e18-45e2-a728-05705395fe45/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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:01.942075637Z"}]},"request_id":"fb4f01c8-e20e-4024-b86e-bccd8a1a38a1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.1236913} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"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":"10ce5896-56d7-4ce9-9437-324babd37763"},{"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":"f482c71e-9b6f-4226-b249-53b9062d1b3a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"03157388-d764-4f7f-83e8-ef6d10353b92"}]},"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":"47bbd64a47e55ae1fe6b6e829cd20afb"},"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":"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/4ec9299a-6e18-45e2-a728-05705395fe45"},{"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/36120ecd-48b3-434f-8399-37d2d97175c1"}],"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:60464","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} gateway-1 | {"time_local":"23/May/2024:10:01:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/36120ecd-48b3-434f-8399-37d2d97175c1? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47bbd64a47e55ae1fe6b6e829cd20afb"} device-1 | {"level":"info","message":"GET /devices/36120ecd-48b3-434f-8399-37d2d97175c1? 200 14ms","method":"GET","requestID":"47bbd64a47e55ae1fe6b6e829cd20afb","responseTime":14,"status":200,"url":"/devices/36120ecd-48b3-434f-8399-37d2d97175c1?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.87708,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458463,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2M30.2lnGupmipgfEdqVipibAX05YTLhiljqlseqO1DWydp8"} 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":"5dc3a9e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2NH0.DiQajezwEdzHt7Ee6N61-WyUG89ODWSXAoTkHKYmvbA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"571d53c7177dccac2c5ee0129f57ce15","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.966337,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458464,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2NH0.DiQajezwEdzHt7Ee6N61-WyUG89ODWSXAoTkHKYmvbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"571d53c7177dccac2c5ee0129f57ce15"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"981ffdec-8e63-4c0d-9028-22da9abbb730","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.1414847} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22dea1dc-1f69-43ff-bf88-f37b2e8279fd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.1417801} 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":"5dc3a9e0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:02.017615172Z"}]},"request_id":"a7c8c1ab-7fd8-4aa7-a9cc-f1dfcfc09595","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.1427302} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"571d53c7177dccac2c5ee0129f57ce15"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ec9299a-6e18-45e2-a728-05705395fe45? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"571d53c7177dccac2c5ee0129f57ce15"} device-1 | {"level":"info","message":"GET /devices/4ec9299a-6e18-45e2-a728-05705395fe45? 200 14ms","method":"GET","requestID":"571d53c7177dccac2c5ee0129f57ce15","responseTime":14,"status":200,"url":"/devices/4ec9299a-6e18-45e2-a728-05705395fe45?"} 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/210c9991-88b4-4415-9dca-5090129b51ac'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac'"} 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 45ms","method":"POST","requestID":"5dc3a9e0-18eb-11ef-97dd-97826c0d9de9","responseTime":45,"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/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed4c2408-7d13-463b-83d4-54341786d293","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.2007139} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.370517,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5dce5840-18eb-11ef-97dd-97826c0d9de9"},"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/36120ecd-48b3-434f-8399-37d2d97175c1/signaling 200 8ms","method":"POST","requestID":"5dce5840-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/36120ecd-48b3-434f-8399-37d2d97175c1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34969926-ea55-4b07-b897-c39654a16f03","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458464.2100017} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.276442,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","object_type":"device","rebac_allow":false,"scope_allow":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":"5dcfdee0-18eb-11ef-97dd-97826c0d9de9"},"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/4ec9299a-6e18-45e2-a728-05705395fe45/signaling 200 7ms","method":"POST","requestID":"5dcfdee0-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":200,"url":"/devices/4ec9299a-6e18-45e2-a728-05705395fe45/signaling"} device-1 | {"data":{"peerconnection":"210c9991-88b4-4415-9dca-5090129b51ac","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/210c9991-88b4-4415-9dca-5090129b51ac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"210c9991-88b4-4415-9dca-5090129b51ac","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":"a74818125286327272eccd0309352c8c","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/4ec9299a-6e18-45e2-a728-05705395fe45'"} 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/4ec9299a-6e18-45e2-a728-05705395fe45"},{"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/36120ecd-48b3-434f-8399-37d2d97175c1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"a74818125286327272eccd0309352c8c","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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":"a74818125286327272eccd0309352c8c"} device-1 | {"data":{"peerconnection":"210c9991-88b4-4415-9dca-5090129b51ac","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"210c9991-88b4-4415-9dca-5090129b51ac","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/210c9991-88b4-4415-9dca-5090129b51ac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"210c9991-88b4-4415-9dca-5090129b51ac","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":"c8daab4388aaae977e754147ca23ca64","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/4ec9299a-6e18-45e2-a728-05705395fe45"},{"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/36120ecd-48b3-434f-8399-37d2d97175c1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F210c9991-88b4-4415-9dca-5090129b51ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a6c0a95-8227-4d40-8933-9ded32f257d9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.3563561} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.337068,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac","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":"5f175300-18eb-11ef-97dd-97826c0d9de9"},"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/210c9991-88b4-4415-9dca-5090129b51ac 200 8ms","method":"GET","requestID":"5f175300-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"c8daab4388aaae977e754147ca23ca64","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"c8daab4388aaae977e754147ca23ca64"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"817ffef3-ff54-4957-aa03-b3ae8550d80e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.3786936} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.234518,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","object_type":"device","rebac_allow":false,"scope_allow":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":"5f1aae60-18eb-11ef-97dd-97826c0d9de9"},"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/4ec9299a-6e18-45e2-a728-05705395fe45/signaling 200 10ms","method":"POST","requestID":"5f1aae60-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/4ec9299a-6e18-45e2-a728-05705395fe45/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16d62d7f-8900-45c4-8eaf-4d048319ba60","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.3916163} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.327177,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f1caa30-18eb-11ef-97dd-97826c0d9de9"},"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/36120ecd-48b3-434f-8399-37d2d97175c1/signaling 200 8ms","method":"POST","requestID":"5f1caa30-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/36120ecd-48b3-434f-8399-37d2d97175c1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Nn0.r7paK5LrbTxGTbRm_M55CmarOtFwAXDCdgMnVpbY0wo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f647f972a61e9b8440d0edcf54703581","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.725726,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458466,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Nn0.r7paK5LrbTxGTbRm_M55CmarOtFwAXDCdgMnVpbY0wo"} 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":"f647f972a61e9b8440d0edcf54703581"},"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/c1a7b817-9b34-40ca-aff0-355a52082c79"} gateway-1 | {"time_local":"23/May/2024:10:01:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c1a7b817-9b34-40ca-aff0-355a52082c79 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f647f972a61e9b8440d0edcf54703581"} experiment-1 | {"level":"info","message":"GET /experiments/c1a7b817-9b34-40ca-aff0-355a52082c79 200 9ms","method":"GET","requestID":"f647f972a61e9b8440d0edcf54703581","responseTime":9,"status":200,"url":"/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Nn0.r7paK5LrbTxGTbRm_M55CmarOtFwAXDCdgMnVpbY0wo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f526a2359d01c6140bea6fc1611ded4a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.638593,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458466,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Nn0.r7paK5LrbTxGTbRm_M55CmarOtFwAXDCdgMnVpbY0wo"} 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":"f526a2359d01c6140bea6fc1611ded4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.025063,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458466,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Nn0.r7paK5LrbTxGTbRm_M55CmarOtFwAXDCdgMnVpbY0wo"} 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":"5f26bc50-18eb-11ef-97dd-97826c0d9de9"},"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/210c9991-88b4-4415-9dca-5090129b51ac' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"210c9991-88b4-4415-9dca-5090129b51ac","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1decad6f-8352-44f3-8ea3-ea1c84dce26c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.4678633} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F210c9991-88b4-4415-9dca-5090129b51ac': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F210c9991-88b4-4415-9dca-5090129b51ac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"3f9599bf-d87e-4392-9bfa-7bc1050f7dd7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.468869} 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/4ec9299a-6e18-45e2-a728-05705395fe45"},{"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/36120ecd-48b3-434f-8399-37d2d97175c1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f26bc50-18eb-11ef-97dd-97826c0d9de9"},"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 2ms","method":"GET","requestID":"e6e44c5a63bae7ff69178f843edbe42d","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 0ms","method":"GET","requestID":"4d2728970fabb7937c0b54c30adbc74b","responseTime":0,"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/4ec9299a-6e18-45e2-a728-05705395fe45"},{"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/36120ecd-48b3-434f-8399-37d2d97175c1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/210c9991-88b4-4415-9dca-5090129b51ac 204 24ms","method":"DELETE","requestID":"5f26bc50-18eb-11ef-97dd-97826c0d9de9","responseTime":24,"status":204,"url":"/peerconnections/210c9991-88b4-4415-9dca-5090129b51ac"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ec9299a-6e18-45e2-a728-05705395fe45","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bed51e3e-2ccd-4834-80e9-c87fdd4b98ad","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.5040905} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.902776,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ec9299a-6e18-45e2-a728-05705395fe45","object_type":"device","rebac_allow":false,"scope_allow":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":"5f2dc130-18eb-11ef-97dd-97826c0d9de9"},"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":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1a7b817-9b34-40ca-aff0-355a52082c79': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1a7b817-9b34-40ca-aff0-355a52082c79","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"e6971b43-d78b-4499-bec2-afe8d5234135","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.5091705} device-1 | {"level":"info","message":"POST /devices/4ec9299a-6e18-45e2-a728-05705395fe45/signaling 200 10ms","method":"POST","requestID":"5f2dc130-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/4ec9299a-6e18-45e2-a728-05705395fe45/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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e77b54b-ce61-480b-b9a1-d6dc3c246ca9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.509502} 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":"f526a2359d01c6140bea6fc1611ded4a"},"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:60464","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F36120ecd-48b3-434f-8399-37d2d97175c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b01044ce-9319-41ae-ac94-7a83fae0a329","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.5162907} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.029762,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1","object_type":"device","rebac_allow":false,"scope_allow":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":"5f2fbd00-18eb-11ef-97dd-97826c0d9de9"},"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/36120ecd-48b3-434f-8399-37d2d97175c1/signaling 200 8ms","method":"POST","requestID":"5f2fbd00-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/36120ecd-48b3-434f-8399-37d2d97175c1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"} gateway-1 | {"time_local":"23/May/2024:10:01:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c1a7b817-9b34-40ca-aff0-355a52082c79 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f526a2359d01c6140bea6fc1611ded4a"} experiment-1 | {"level":"info","message":"DELETE /experiments/c1a7b817-9b34-40ca-aff0-355a52082c79 204 123ms","method":"DELETE","requestID":"f526a2359d01c6140bea6fc1611ded4a","responseTime":123,"status":204,"url":"/experiments/c1a7b817-9b34-40ca-aff0-355a52082c79"} gateway-1 | {"time_local":"23/May/2024:10:01:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2801","request_time":"3.993","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"af5f4cf47d4117040e6ac03b96abdf86"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"e6e44c5a63bae7ff69178f843edbe42d","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.105","http_referrer":"","http_user_agent":"node-fetch","requestID":"e6e44c5a63bae7ff69178f843edbe42d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Nn0.r7paK5LrbTxGTbRm_M55CmarOtFwAXDCdgMnVpbY0wo","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 101ms","method":"POST","requestID":"4d2728970fabb7937c0b54c30adbc74b","responseTime":101,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4cc663caea4ddd6292b9077b30fdcf81","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:01: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.106","http_referrer":"","http_user_agent":"node-fetch","requestID":"4d2728970fabb7937c0b54c30adbc74b"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:01:06 +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.638","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9d6bbb5afa094ae4e4806013a01beac4"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/36120ecd-48b3-434f-8399-37d2d97175c1' closed"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.979529,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458466,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Nn0.r7paK5LrbTxGTbRm_M55CmarOtFwAXDCdgMnVpbY0wo"} 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":"4cc663caea4ddd6292b9077b30fdcf81"},"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/4ec9299a-6e18-45e2-a728-05705395fe45' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"45e52559-b18e-455c-b713-d1a304b9e404","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.6005688} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4cc663caea4ddd6292b9077b30fdcf81"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"592f9524-6d1b-47b1-9e58-6f26f0845ebe","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.6055036} 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":"4cc663caea4ddd6292b9077b30fdcf81"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"f5110565-8d2b-4051-9183-cd8e08da4119","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.6152573} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae22dcf9-8aaa-4dfc-90fc-6dee95a7f2d1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.6153321} 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":"4cc663caea4ddd6292b9077b30fdcf81"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.615229602Z"}]},"request_id":"282f887d-a995-43fe-bc4a-cd7a0f9940a2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.620419} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4cc663caea4ddd6292b9077b30fdcf81"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4cc663caea4ddd6292b9077b30fdcf81"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"4cc663caea4ddd6292b9077b30fdcf81","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Nn0.r7paK5LrbTxGTbRm_M55CmarOtFwAXDCdgMnVpbY0wo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e5dbf8284ba39c9e85cbfecfa8ae4f98","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.735314,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458466,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2Nn0.r7paK5LrbTxGTbRm_M55CmarOtFwAXDCdgMnVpbY0wo"} 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":"e5dbf8284ba39c9e85cbfecfa8ae4f98"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"03c3586c-5c77-47ed-8715-d65488caac3e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.6427164} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5dbf8284ba39c9e85cbfecfa8ae4f98"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbf39a66-ea07-46d9-8ea1-6f293661d58c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.647466} 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":"e5dbf8284ba39c9e85cbfecfa8ae4f98"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"3a354c0d-5127-437f-8315-492fd9f73684","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.6546328} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ed57de8-1bf5-434b-b50d-bb17c495a47b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.65486} 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":"e5dbf8284ba39c9e85cbfecfa8ae4f98"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.654605582Z"}]},"request_id":"4423826f-1e4d-42cf-9d4a-bc6806583049","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458466.6588392} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5dbf8284ba39c9e85cbfecfa8ae4f98"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5dbf8284ba39c9e85cbfecfa8ae4f98"} device-1 | {"level":"info","message":"POST /devices? 201 34ms","method":"POST","requestID":"e5dbf8284ba39c9e85cbfecfa8ae4f98","responseTime":34,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c13a483ce967ac0244e8b033e340d77d","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f77fbf7af3cd29b65824930e348865ee","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:60464","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66927,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c13a483ce967ac0244e8b033e340d77d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621978,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f77fbf7af3cd29b65824930e348865ee"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.615229602Z"}]},"request_id":"c4503a35-ee29-482a-b555-7103f1719644","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.163834} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c13a483ce967ac0244e8b033e340d77d"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.654605582Z"}]},"request_id":"49ef3de5-2909-41ca-b82e-15d117b555d7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.16446} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f77fbf7af3cd29b65824930e348865ee"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ea7695b-368e-420e-8205-a72b031d17a4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.1693625} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40bd5244-375b-49d4-bc39-2d7d5d36cf62","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.1700134} 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":"c13a483ce967ac0244e8b033e340d77d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} 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":"f77fbf7af3cd29b65824930e348865ee"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.654605582Z"}]},"request_id":"4af4504a-795a-48ae-a83a-b9c11d523cfb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.1734576} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f77fbf7af3cd29b65824930e348865ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/897e5f39-20f3-4d8a-b270-b008ee234aa5 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f77fbf7af3cd29b65824930e348865ee"} device-1 | {"level":"info","message":"PATCH /devices/897e5f39-20f3-4d8a-b270-b008ee234aa5 200 20ms","method":"PATCH","requestID":"f77fbf7af3cd29b65824930e348865ee","responseTime":20,"status":200,"url":"/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"020085063f56eb87539aee39b79189d6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667053,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} 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":"020085063f56eb87539aee39b79189d6"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.615229602Z"}]},"request_id":"9ad33074-d8b6-44a6-8ae7-32fa4dda8332","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.1932986} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c13a483ce967ac0244e8b033e340d77d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6e7bb9ca-d026-415f-b782-46a7b748edd2 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c13a483ce967ac0244e8b033e340d77d"} device-1 | {"level":"info","message":"PATCH /devices/6e7bb9ca-d026-415f-b782-46a7b748edd2 200 41ms","method":"PATCH","requestID":"c13a483ce967ac0244e8b033e340d77d","responseTime":41,"status":200,"url":"/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d021146a79b141561ff4858e0f419b1c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/897e5f39-20f3-4d8a-b270-b008ee234aa5/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":"020085063f56eb87539aee39b79189d6"} device-1 | {"level":"info","message":"POST /devices/897e5f39-20f3-4d8a-b270-b008ee234aa5/websocket 200 22ms","method":"POST","requestID":"020085063f56eb87539aee39b79189d6","responseTime":22,"status":200,"url":"/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694085,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d021146a79b141561ff4858e0f419b1c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"device 'http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6e7bb9ca-d026-415f-b782-46a7b748edd2/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":"d021146a79b141561ff4858e0f419b1c"} device-1 | {"level":"info","message":"POST /devices/6e7bb9ca-d026-415f-b782-46a7b748edd2/websocket 200 20ms","method":"POST","requestID":"d021146a79b141561ff4858e0f419b1c","responseTime":20,"status":200,"url":"/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b9a5a454e80ab207b3e41bb36fbf73e9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694429,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9a5a454e80ab207b3e41bb36fbf73e9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.615229602Z"}]},"request_id":"a4c863be-b389-4e2e-bb2c-652aebd6b332","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.2464602} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9a5a454e80ab207b3e41bb36fbf73e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6e7bb9ca-d026-415f-b782-46a7b748edd2? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b9a5a454e80ab207b3e41bb36fbf73e9"} device-1 | {"level":"info","message":"GET /devices/6e7bb9ca-d026-415f-b782-46a7b748edd2? 200 10ms","method":"GET","requestID":"b9a5a454e80ab207b3e41bb36fbf73e9","responseTime":10,"status":200,"url":"/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e8504e84bf6525b32c69762020a74235","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658845,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} 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":"e8504e84bf6525b32c69762020a74235"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.654605582Z"}]},"request_id":"b8064740-5699-4a2c-91c2-2e1178c77d02","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.2606676} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8504e84bf6525b32c69762020a74235"},"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/897e5f39-20f3-4d8a-b270-b008ee234aa5? 200 9ms","method":"GET","requestID":"e8504e84bf6525b32c69762020a74235","responseTime":9,"status":200,"url":"/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5?"} gateway-1 | {"time_local":"23/May/2024:10:01:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/897e5f39-20f3-4d8a-b270-b008ee234aa5? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8504e84bf6525b32c69762020a74235"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a962d99f4ff4634331860fc13e545f51","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:60464","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.746634,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} 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":"a962d99f4ff4634331860fc13e545f51"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"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:60464","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889856,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fa6e8d0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.107701,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fa70fe0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.615229602Z"}]},"request_id":"59579f9e-9618-4582-899b-b783dd5d474e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.3019595} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fa6e8d0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.654605582Z"}]},"request_id":"9cb69b29-eb6b-4560-a5f1-5a7212ab9422","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.3026898} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fa70fe0-18eb-11ef-97dd-97826c0d9de9"},"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/6e7bb9ca-d026-415f-b782-46a7b748edd2? 200 13ms","method":"GET","requestID":"5fa6e8d0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/897e5f39-20f3-4d8a-b270-b008ee234aa5? 200 13ms","method":"GET","requestID":"5fa70fe0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"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/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.021217,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fae62e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.834702,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} 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":"5faeb100-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"989549db-64be-447c-b140-724167b73dd0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.3516037} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.739144,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","object_type":"device","rebac_allow":false,"scope_allow":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":"5faed810-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.615229602Z"}]},"request_id":"8d646458-514c-4f93-8343-e8cbce1f8cca","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.3540022} 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":"5fae62e0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.654605582Z"}]},"request_id":"3db28235-c6b9-4054-a83d-cbeb7f173777","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.356752} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5faeb100-18eb-11ef-97dd-97826c0d9de9"},"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/6e7bb9ca-d026-415f-b782-46a7b748edd2/signaling 200 14ms","method":"POST","requestID":"5faed810-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F26e748c3-67a7-4547-855c-9f9412df48bb#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F26e748c3-67a7-4547-855c-9f9412df48bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"83dfb1be-ecfe-46f2-be28-d4ea627e3d62","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.3631148} device-1 | {"level":"info","message":"GET /devices/6e7bb9ca-d026-415f-b782-46a7b748edd2? 200 22ms","method":"GET","requestID":"5fae62e0-18eb-11ef-97dd-97826c0d9de9","responseTime":22,"status":200,"url":"/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40972239-50a7-4b6f-acc1-60d8a3e218d7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.3634744} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"a962d99f4ff4634331860fc13e545f51"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"GET /devices/897e5f39-20f3-4d8a-b270-b008ee234aa5? 200 23ms","method":"GET","requestID":"5faeb100-18eb-11ef-97dd-97826c0d9de9","responseTime":23,"status":200,"url":"/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5f64678-c25c-4eca-9c10-fd18c7db39e4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.3666048} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.347096,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","object_type":"device","rebac_allow":false,"scope_allow":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":"5fb14910-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/897e5f39-20f3-4d8a-b270-b008ee234aa5/signaling 200 12ms","method":"POST","requestID":"5fb14910-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} gateway-1 | {"time_local":"23/May/2024:10:01:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a962d99f4ff4634331860fc13e545f51"} experiment-1 | {"level":"info","message":"POST /experiments? 201 106ms","method":"POST","requestID":"a962d99f4ff4634331860fc13e545f51","responseTime":106,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd9ac9fd-2c66-4940-b89b-47ef21de5bf3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.376135} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.699021,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fb2cfb0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cef0466be84b03df6732372cd0582b6f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6e7bb9ca-d026-415f-b782-46a7b748edd2/signaling 200 11ms","method":"POST","requestID":"5fb2cfb0-18eb-11ef-97dd-97826c0d9de9","responseTime":11,"status":200,"url":"/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.746173,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cef0466be84b03df6732372cd0582b6f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fdfdf675-ab30-4c83-9f40-4943be25e009","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.3883047} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.615229602Z"}]},"request_id":"1f961567-83aa-466c-aaa9-0feae68d4da3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.3884346} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cef0466be84b03df6732372cd0582b6f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.37494,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fb4cb80-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6e7bb9ca-d026-415f-b782-46a7b748edd2? 200 14ms","method":"GET","requestID":"cef0466be84b03df6732372cd0582b6f","responseTime":14,"status":200,"url":"/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2?"} gateway-1 | {"time_local":"23/May/2024:10:01:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6e7bb9ca-d026-415f-b782-46a7b748edd2? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cef0466be84b03df6732372cd0582b6f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/897e5f39-20f3-4d8a-b270-b008ee234aa5/signaling 200 10ms","method":"POST","requestID":"5fb4cb80-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"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":"d15bd8d1-789f-4a3a-983a-15f287b3929d"},{"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":"b5284e2e-91a8-4466-8a70-2f94de0acb5e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7a9e4cea-7870-4b2e-abf5-336b22a9a501"}]},"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/897e5f39-20f3-4d8a-b270-b008ee234aa5"},{"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/6e7bb9ca-d026-415f-b782-46a7b748edd2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a33b8c55917292be024a33d39b46cdfa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.40215,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} 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":"5fb6c750-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908191,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458467,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2N30.iIFhMAtr-tUxxH91ehpgVuKxgi0HBltq0Z_iLmD7a6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a33b8c55917292be024a33d39b46cdfa"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:06.654605582Z"}]},"request_id":"7c27b95b-b0f7-49a9-ac78-3fc4b47d66aa","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.4062655} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a33b8c55917292be024a33d39b46cdfa"},"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/897e5f39-20f3-4d8a-b270-b008ee234aa5? 200 10ms","method":"GET","requestID":"a33b8c55917292be024a33d39b46cdfa","responseTime":10,"status":200,"url":"/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5?"} gateway-1 | {"time_local":"23/May/2024:10:01:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/897e5f39-20f3-4d8a-b270-b008ee234aa5? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a33b8c55917292be024a33d39b46cdfa"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"06bac2e4-d108-4d78-8798-33c376a3f7da","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.4098952} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8144334d-6970-4afe-b61a-9a96c55462d4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.410238} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fb6c750-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731'"} 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":"5fb6c750-18eb-11ef-97dd-97826c0d9de9","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/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e57d003f-9ff1-49f7-8e47-3d9b353cdbe6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.4659793} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.391306,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","object_type":"device","rebac_allow":false,"scope_allow":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":"5fc0b260-18eb-11ef-97dd-97826c0d9de9"},"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/6e7bb9ca-d026-415f-b782-46a7b748edd2/signaling 200 8ms","method":"POST","requestID":"5fc0b260-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78cf3015-4264-40c8-9c6d-a3379bde240a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458467.4759836} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.22466,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","object_type":"device","rebac_allow":false,"scope_allow":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":"5fc23900-18eb-11ef-97dd-97826c0d9de9"},"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/897e5f39-20f3-4d8a-b270-b008ee234aa5/signaling 200 7ms","method":"POST","requestID":"5fc23900-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":200,"url":"/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5/signaling"} device-1 | {"data":{"peerconnection":"03dcf0ba-844f-4219-b5bb-2b67ca313731","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"03dcf0ba-844f-4219-b5bb-2b67ca313731","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/03dcf0ba-844f-4219-b5bb-2b67ca313731' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"03dcf0ba-844f-4219-b5bb-2b67ca313731","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":"d1232a4a98dd7d0ff2d0707a1bcb2cca","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/897e5f39-20f3-4d8a-b270-b008ee234aa5"},{"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/6e7bb9ca-d026-415f-b782-46a7b748edd2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"d1232a4a98dd7d0ff2d0707a1bcb2cca","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"d1232a4a98dd7d0ff2d0707a1bcb2cca"} device-1 | {"data":{"peerconnection":"03dcf0ba-844f-4219-b5bb-2b67ca313731","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"03dcf0ba-844f-4219-b5bb-2b67ca313731","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/03dcf0ba-844f-4219-b5bb-2b67ca313731' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"03dcf0ba-844f-4219-b5bb-2b67ca313731","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":"5e3e758a4bdaa9f10a22185b43563f7a","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","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/897e5f39-20f3-4d8a-b270-b008ee234aa5"},{"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/6e7bb9ca-d026-415f-b782-46a7b748edd2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F03dcf0ba-844f-4219-b5bb-2b67ca313731","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63982fb6-a981-4e05-8891-c4951b00f139","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.5299494} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.119944,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731","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":"60fba360-18eb-11ef-97dd-97826c0d9de9"},"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/03dcf0ba-844f-4219-b5bb-2b67ca313731 200 7ms","method":"GET","requestID":"60fba360-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":200,"url":"/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"5e3e758a4bdaa9f10a22185b43563f7a","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"5e3e758a4bdaa9f10a22185b43563f7a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dca660c3-11ae-45a5-a53d-12e093f01828","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.5523987} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.069923,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","object_type":"device","rebac_allow":false,"scope_allow":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":"60fefec0-18eb-11ef-97dd-97826c0d9de9"},"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/897e5f39-20f3-4d8a-b270-b008ee234aa5/signaling 200 8ms","method":"POST","requestID":"60fefec0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdcd8070-9551-44de-b583-8d67a6ad6ffb","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.5619664} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.229398,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","object_type":"device","rebac_allow":false,"scope_allow":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":"61008560-18eb-11ef-97dd-97826c0d9de9"},"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/6e7bb9ca-d026-415f-b782-46a7b748edd2/signaling 200 8ms","method":"POST","requestID":"61008560-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2OX0.va-Hdg3CPye9VLb_POq0z9pEn1ak2uo1flpo4UlcxhM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4ac76bb3ce8935ccd49e9327d61a9fc2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/26e748c3-67a7-4547-855c-9f9412df48bb"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.834726,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458469,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2OX0.va-Hdg3CPye9VLb_POq0z9pEn1ak2uo1flpo4UlcxhM"} 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":"4ac76bb3ce8935ccd49e9327d61a9fc2"},"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/26e748c3-67a7-4547-855c-9f9412df48bb"} gateway-1 | {"time_local":"23/May/2024:10:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/26e748c3-67a7-4547-855c-9f9412df48bb HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ac76bb3ce8935ccd49e9327d61a9fc2"} experiment-1 | {"level":"info","message":"GET /experiments/26e748c3-67a7-4547-855c-9f9412df48bb 200 9ms","method":"GET","requestID":"4ac76bb3ce8935ccd49e9327d61a9fc2","responseTime":9,"status":200,"url":"/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2OX0.va-Hdg3CPye9VLb_POq0z9pEn1ak2uo1flpo4UlcxhM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"65e66f7c920cc0ea6e0ed7ec97e1d5e2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/26e748c3-67a7-4547-855c-9f9412df48bb"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.344955,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458469,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2OX0.va-Hdg3CPye9VLb_POq0z9pEn1ak2uo1flpo4UlcxhM"} 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":"65e66f7c920cc0ea6e0ed7ec97e1d5e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.739034,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458469,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2OX0.va-Hdg3CPye9VLb_POq0z9pEn1ak2uo1flpo4UlcxhM"} 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":"610d56a0-18eb-11ef-97dd-97826c0d9de9"},"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/03dcf0ba-844f-4219-b5bb-2b67ca313731' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"03dcf0ba-844f-4219-b5bb-2b67ca313731","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} 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/897e5f39-20f3-4d8a-b270-b008ee234aa5"},{"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/6e7bb9ca-d026-415f-b782-46a7b748edd2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F03dcf0ba-844f-4219-b5bb-2b67ca313731': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F03dcf0ba-844f-4219-b5bb-2b67ca313731","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"71f4a06a-310c-47df-8738-5dcfe2c184c2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.6577785} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89a1a6c3-a12c-4447-9a5d-f876523cad06","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.658085} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f991b0908d1771faace2c0fea4ff61b1","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"610d56a0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b901c5a3c9b1f7e42894dd722826c70f","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/897e5f39-20f3-4d8a-b270-b008ee234aa5"},{"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/6e7bb9ca-d026-415f-b782-46a7b748edd2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"03dcf0ba-844f-4219-b5bb-2b67ca313731","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/03dcf0ba-844f-4219-b5bb-2b67ca313731 204 54ms","method":"DELETE","requestID":"610d56a0-18eb-11ef-97dd-97826c0d9de9","responseTime":54,"status":204,"url":"/peerconnections/03dcf0ba-844f-4219-b5bb-2b67ca313731"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F897e5f39-20f3-4d8a-b270-b008ee234aa5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"067c0cb3-63af-4a0f-94ae-aad3e33d1c26","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.7151113} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.359587,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5","object_type":"device","rebac_allow":false,"scope_allow":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":"6117b6e0-18eb-11ef-97dd-97826c0d9de9"},"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/897e5f39-20f3-4d8a-b270-b008ee234aa5/signaling 200 9ms","method":"POST","requestID":"6117b6e0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/897e5f39-20f3-4d8a-b270-b008ee234aa5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F26e748c3-67a7-4547-855c-9f9412df48bb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F26e748c3-67a7-4547-855c-9f9412df48bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"c439072b-5671-43c1-b7f2-93dbcf8ee831","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.7244802} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a326f0cc-de2f-4b84-94f3-7d72990dffab","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.7246912} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e7bb9ca-d026-415f-b782-46a7b748edd2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"296d9581-3466-44a1-8cff-06bdb509aaae","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.7249103} 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":"65e66f7c920cc0ea6e0ed7ec97e1d5e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.024468,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2","object_type":"device","rebac_allow":false,"scope_allow":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":"61193d80-18eb-11ef-97dd-97826c0d9de9"},"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/6e7bb9ca-d026-415f-b782-46a7b748edd2/signaling 200 10ms","method":"POST","requestID":"61193d80-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/6e7bb9ca-d026-415f-b782-46a7b748edd2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/26e748c3-67a7-4547-855c-9f9412df48bb"} gateway-1 | {"time_local":"23/May/2024:10:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/26e748c3-67a7-4547-855c-9f9412df48bb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65e66f7c920cc0ea6e0ed7ec97e1d5e2"} gateway-1 | {"time_local":"23/May/2024:10:01:09 +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.572","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a53ca7c9e33c3157a3f99a7087690b58"} gateway-1 | {"time_local":"23/May/2024:10:01:09 +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.553","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7c41488a09ea53e59271cdf7262ec403"} experiment-1 | {"level":"info","message":"DELETE /experiments/26e748c3-67a7-4547-855c-9f9412df48bb 204 144ms","method":"DELETE","requestID":"65e66f7c920cc0ea6e0ed7ec97e1d5e2","responseTime":144,"status":204,"url":"/experiments/26e748c3-67a7-4547-855c-9f9412df48bb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 118ms","method":"POST","requestID":"f991b0908d1771faace2c0fea4ff61b1","responseTime":118,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"f991b0908d1771faace2c0fea4ff61b1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"b901c5a3c9b1f7e42894dd722826c70f","responseTime":117,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2OX0.va-Hdg3CPye9VLb_POq0z9pEn1ak2uo1flpo4UlcxhM","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"23/May/2024:10:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"b901c5a3c9b1f7e42894dd722826c70f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6517a186d4c06d8252f95734c5c61170","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/6e7bb9ca-d026-415f-b782-46a7b748edd2' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.909683,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458469,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2OX0.va-Hdg3CPye9VLb_POq0z9pEn1ak2uo1flpo4UlcxhM"} 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":"6517a186d4c06d8252f95734c5c61170"},"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/897e5f39-20f3-4d8a-b270-b008ee234aa5' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"29100561-a0dd-4f89-8503-0b7c47991268","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.8004143} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6517a186d4c06d8252f95734c5c61170"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51e41868-f5ee-4e2d-b71f-12e8a6cf91fc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.806292} 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":"6517a186d4c06d8252f95734c5c61170"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"452ada5a-c5ee-4992-a8d9-9d60458a317b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.8166392} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c348c116-0a2b-4068-b881-dd0e9a36fd0b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.8167796} 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":"6517a186d4c06d8252f95734c5c61170"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.816598543Z"}]},"request_id":"e45d4c33-4687-44ab-9fc6-3d134d14396b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.8216121} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6517a186d4c06d8252f95734c5c61170"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6517a186d4c06d8252f95734c5c61170"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"6517a186d4c06d8252f95734c5c61170","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2OX0.va-Hdg3CPye9VLb_POq0z9pEn1ak2uo1flpo4UlcxhM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4afba0feef6ade98f287ce9aab8ced6f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.768706,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458469,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ2OX0.va-Hdg3CPye9VLb_POq0z9pEn1ak2uo1flpo4UlcxhM"} 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":"4afba0feef6ade98f287ce9aab8ced6f"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"58deda46-c7ee-4cce-a5ea-50d99a2a04af","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.852736} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4afba0feef6ade98f287ce9aab8ced6f"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebfcbf9e-bce4-41ef-922c-e726a5a9ec32","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.8588593} 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":"4afba0feef6ade98f287ce9aab8ced6f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"332c9e61-d6f3-4024-8bf7-c667a768e3a9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.8682144} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a983fe1-2082-434f-aa21-70a22c55a8b0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.868499} 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":"4afba0feef6ade98f287ce9aab8ced6f"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.868181721Z"}]},"request_id":"632d2896-c44a-4487-be89-65e2a552bf5e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458469.8734531} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4afba0feef6ade98f287ce9aab8ced6f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4afba0feef6ade98f287ce9aab8ced6f"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"4afba0feef6ade98f287ce9aab8ced6f","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6bd8a05b4e79d6df3625f92f07e2a572","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"101e50df1144f038f0bcbfcb04601301","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681713,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bd8a05b4e79d6df3625f92f07e2a572"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689639,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} 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":"101e50df1144f038f0bcbfcb04601301"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.816598543Z"}]},"request_id":"ef2445a6-c4a2-4572-b966-52e02137a047","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.3868763} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bd8a05b4e79d6df3625f92f07e2a572"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.868181721Z"}]},"request_id":"e6ff5ba0-1b58-4aec-b3cb-3d2c817a6555","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.3894362} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"101e50df1144f038f0bcbfcb04601301"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39c3617d-c306-43d7-9ca6-6781f379fa31","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.3907647} 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":"6bd8a05b4e79d6df3625f92f07e2a572"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71553d5d-2753-490c-9f50-33ffd742d77b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.3950565} 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":"101e50df1144f038f0bcbfcb04601301"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.816598543Z"}]},"request_id":"48314400-fc87-4c2c-91e3-23eefd6bef7b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.4045866} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bd8a05b4e79d6df3625f92f07e2a572"},"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/505a9078-1a0b-43ea-a0ca-149d10c533fb 200 29ms","method":"PATCH","requestID":"6bd8a05b4e79d6df3625f92f07e2a572","responseTime":29,"status":200,"url":"/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb"} gateway-1 | {"time_local":"23/May/2024:10:01:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/505a9078-1a0b-43ea-a0ca-149d10c533fb HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6bd8a05b4e79d6df3625f92f07e2a572"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ff1378775697c2f49a77a55ce5e0d7b9","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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.868181721Z"}]},"request_id":"c8849b4f-8bb8-4c04-9b54-d4a0cac7532e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.419214} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"101e50df1144f038f0bcbfcb04601301"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f3bc60ba-b651-44a9-b249-31590d746262 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"101e50df1144f038f0bcbfcb04601301"} device-1 | {"level":"info","message":"PATCH /devices/f3bc60ba-b651-44a9-b249-31590d746262 200 41ms","method":"PATCH","requestID":"101e50df1144f038f0bcbfcb04601301","responseTime":41,"status":200,"url":"/devices/f3bc60ba-b651-44a9-b249-31590d746262"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93029,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f52602903f4af3bf0da8e0530d2b9e90","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} 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":"ff1378775697c2f49a77a55ce5e0d7b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920556,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f52602903f4af3bf0da8e0530d2b9e90"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/505a9078-1a0b-43ea-a0ca-149d10c533fb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ff1378775697c2f49a77a55ce5e0d7b9"} device-1 | {"level":"info","message":"POST /devices/505a9078-1a0b-43ea-a0ca-149d10c533fb/websocket 200 25ms","method":"POST","requestID":"ff1378775697c2f49a77a55ce5e0d7b9","responseTime":25,"status":200,"url":"/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f3bc60ba-b651-44a9-b249-31590d746262/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":"f52602903f4af3bf0da8e0530d2b9e90"} device-1 | {"level":"info","message":"POST /devices/f3bc60ba-b651-44a9-b249-31590d746262/websocket 200 22ms","method":"POST","requestID":"f52602903f4af3bf0da8e0530d2b9e90","responseTime":22,"status":200,"url":"/devices/f3bc60ba-b651-44a9-b249-31590d746262/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bf5ed2f5649b531f3cee7d2778551423","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694614,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} 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":"bf5ed2f5649b531f3cee7d2778551423"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.816598543Z"}]},"request_id":"48c9f443-59dd-48a3-9fde-4402e0e57164","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.4736083} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf5ed2f5649b531f3cee7d2778551423"},"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/505a9078-1a0b-43ea-a0ca-149d10c533fb? 200 9ms","method":"GET","requestID":"bf5ed2f5649b531f3cee7d2778551423","responseTime":9,"status":200,"url":"/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb?"} gateway-1 | {"time_local":"23/May/2024:10:01:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/505a9078-1a0b-43ea-a0ca-149d10c533fb? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf5ed2f5649b531f3cee7d2778551423"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9a5a20824c84e7e2369e1fb35a837ac2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67256,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} 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":"9a5a20824c84e7e2369e1fb35a837ac2"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.868181721Z"}]},"request_id":"f6f693c1-e1d4-48e6-8823-3db716d3cb0b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.488574} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a5a20824c84e7e2369e1fb35a837ac2"},"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/f3bc60ba-b651-44a9-b249-31590d746262? 200 10ms","method":"GET","requestID":"9a5a20824c84e7e2369e1fb35a837ac2","responseTime":10,"status":200,"url":"/devices/f3bc60ba-b651-44a9-b249-31590d746262?"} gateway-1 | {"time_local":"23/May/2024:10:01:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3bc60ba-b651-44a9-b249-31590d746262? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a5a20824c84e7e2369e1fb35a837ac2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9fd4e0e8cb45fb830647e6ff6eb4b1f2","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:60464","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.424972,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} 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":"9fd4e0e8cb45fb830647e6ff6eb4b1f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"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:60464","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676915,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} 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":"619460f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652486,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} 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":"61948800-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.816598543Z"}]},"request_id":"8b576e18-78cd-4b76-ab05-8044d40ca3f0","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.5336175} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"619460f0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.868181721Z"}]},"request_id":"95d4fe36-83d6-48b9-a599-d2d4fd0ca04b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.5350845} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61948800-18eb-11ef-97dd-97826c0d9de9"},"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/505a9078-1a0b-43ea-a0ca-149d10c533fb? 200 13ms","method":"GET","requestID":"619460f0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f3bc60ba-b651-44a9-b249-31590d746262? 200 13ms","method":"GET","requestID":"61948800-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/f3bc60ba-b651-44a9-b249-31590d746262?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"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/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759595,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"619b17b0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.633637,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"619b3ec0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.816598543Z"}]},"request_id":"fc72b56c-0ae2-4ef0-834e-6cb92b080a3d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.582996} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"619b17b0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.868181721Z"}]},"request_id":"d6e70f8f-c58c-483a-ae8c-655035195fd5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.583446} authorization-1 | {"client_addr":"127.0.0.1:32968","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"619b3ec0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e042e37-745c-4481-92c2-a320751a0cab","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.5859365} authorization-1 | {"client_addr":"127.0.0.1:32968","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.200253,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} device-1 | {"level":"info","message":"GET /devices/505a9078-1a0b-43ea-a0ca-149d10c533fb? 200 17ms","method":"GET","requestID":"619b17b0-18eb-11ef-97dd-97826c0d9de9","responseTime":17,"status":200,"url":"/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"GET /devices/f3bc60ba-b651-44a9-b249-31590d746262? 200 17ms","method":"GET","requestID":"619b3ec0-18eb-11ef-97dd-97826c0d9de9","responseTime":17,"status":200,"url":"/devices/f3bc60ba-b651-44a9-b249-31590d746262?"} 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":"619b65d0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ef54d00-e3bb-4f38-9bf8-09133040a137#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ef54d00-e3bb-4f38-9bf8-09133040a137","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"b3c99122-81a3-40c8-8e16-5a27e0901ace","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.5879915} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20e6f008-8389-4f96-bb6f-f1c6e1321e27","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.5883737} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fd4e0e8cb45fb830647e6ff6eb4b1f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/505a9078-1a0b-43ea-a0ca-149d10c533fb/signaling 200 19ms","method":"POST","requestID":"619b65d0-18eb-11ef-97dd-97826c0d9de9","responseTime":19,"status":200,"url":"/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b45112d2-90f7-433b-960e-171efd343351","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.5958443} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.169879,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 100ms","method":"POST","requestID":"9fd4e0e8cb45fb830647e6ff6eb4b1f2","responseTime":100,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:10:01:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.104","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9fd4e0e8cb45fb830647e6ff6eb4b1f2"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","object_type":"device","rebac_allow":false,"scope_allow":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":"619e24f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b88b987c-6e40-433f-9d4b-9e848dd277dc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.5996735} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.231731,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/505a9078-1a0b-43ea-a0ca-149d10c533fb/signaling 200 10ms","method":"POST","requestID":"619e24f0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ","level":"info","message":"auth send jwt"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"619ec130-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d714bd363b54aaaa52d9dacf971a7e3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f3bc60ba-b651-44a9-b249-31590d746262/signaling 200 12ms","method":"POST","requestID":"619ec130-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/f3bc60ba-b651-44a9-b249-31590d746262/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb9f7664-29e5-4704-bf8e-65d9a7acd3f1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.608679} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935118,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d714bd363b54aaaa52d9dacf971a7e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.707851,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","object_type":"device","rebac_allow":false,"scope_allow":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":"61a020c0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.816598543Z"}]},"request_id":"e13c0f1e-bc99-4efb-85e8-5403833ed58a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.6141014} device-1 | {"level":"info","message":"POST /devices/f3bc60ba-b651-44a9-b249-31590d746262/signaling 200 10ms","method":"POST","requestID":"61a020c0-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/f3bc60ba-b651-44a9-b249-31590d746262/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"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":"2496d5f5-57b0-46a3-b2c1-b83bd5a9306c"},{"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":"1e0f1b84-4a08-4f5c-9fa8-cc31e3cf9d48"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"cede3a68-f1e8-4a6b-af3b-2af744674644"}]},"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":"8d714bd363b54aaaa52d9dacf971a7e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262"},{"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/505a9078-1a0b-43ea-a0ca-149d10c533fb"}],"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:60464","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} gateway-1 | {"time_local":"23/May/2024:10:01:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/505a9078-1a0b-43ea-a0ca-149d10c533fb? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d714bd363b54aaaa52d9dacf971a7e3"} device-1 | {"level":"info","message":"GET /devices/505a9078-1a0b-43ea-a0ca-149d10c533fb? 200 14ms","method":"GET","requestID":"8d714bd363b54aaaa52d9dacf971a7e3","responseTime":14,"status":200,"url":"/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.964683,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} 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":"61a21c90-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"43130a2b387fbceb3791c1a25f0b519a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62121,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458470,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3MH0.Zr_swzIH-RivHa31JDB7M_GfmXreLCKNNhozg4TBPsQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43130a2b387fbceb3791c1a25f0b519a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"7d43d832-0a96-4a8b-83b3-2d0f08b12eb4","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.6282003} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9943d2e4-4634-49af-96a4-a1721a3d5ee1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.6283827} 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":"61a21c90-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:09.868181721Z"}]},"request_id":"a7e1e47e-b22a-4fe5-ab51-c58273e60db1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.6319473} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43130a2b387fbceb3791c1a25f0b519a"},"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/e4f4fd0b-247f-439d-9c3f-24105db87ed7'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"61a21c90-18eb-11ef-97dd-97826c0d9de9","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f3bc60ba-b651-44a9-b249-31590d746262? 200 20ms","method":"GET","requestID":"43130a2b387fbceb3791c1a25f0b519a","responseTime":20,"status":200,"url":"/devices/f3bc60ba-b651-44a9-b249-31590d746262?"} gateway-1 | {"time_local":"23/May/2024:10:01:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3bc60ba-b651-44a9-b249-31590d746262? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"43130a2b387fbceb3791c1a25f0b519a"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad6011df-bd17-4230-8a53-517c48262f95","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.6709228} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.34433,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","object_type":"device","rebac_allow":false,"scope_allow":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":"61a9bdb0-18eb-11ef-97dd-97826c0d9de9"},"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/505a9078-1a0b-43ea-a0ca-149d10c533fb/signaling 200 7ms","method":"POST","requestID":"61a9bdb0-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":200,"url":"/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46c021d8-0f33-4f6c-af14-79c1449c1941","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458470.6799338} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.072081,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","object_type":"device","rebac_allow":false,"scope_allow":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":"61ab1d40-18eb-11ef-97dd-97826c0d9de9"},"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/f3bc60ba-b651-44a9-b249-31590d746262/signaling 200 7ms","method":"POST","requestID":"61ab1d40-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":200,"url":"/devices/f3bc60ba-b651-44a9-b249-31590d746262/signaling"} device-1 | {"data":{"peerconnection":"e4f4fd0b-247f-439d-9c3f-24105db87ed7","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e4f4fd0b-247f-439d-9c3f-24105db87ed7","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/e4f4fd0b-247f-439d-9c3f-24105db87ed7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e4f4fd0b-247f-439d-9c3f-24105db87ed7","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"8f18547c59864ea0c85c25921cc5aec6","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","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/f3bc60ba-b651-44a9-b249-31590d746262"},{"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/505a9078-1a0b-43ea-a0ca-149d10c533fb"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"8f18547c59864ea0c85c25921cc5aec6","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"8f18547c59864ea0c85c25921cc5aec6"} device-1 | {"data":{"peerconnection":"e4f4fd0b-247f-439d-9c3f-24105db87ed7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e4f4fd0b-247f-439d-9c3f-24105db87ed7","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/e4f4fd0b-247f-439d-9c3f-24105db87ed7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e4f4fd0b-247f-439d-9c3f-24105db87ed7","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":"517e9ca7a93115eaa82a2dcbd28a2b49","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/f3bc60ba-b651-44a9-b249-31590d746262"},{"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/505a9078-1a0b-43ea-a0ca-149d10c533fb"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe4f4fd0b-247f-439d-9c3f-24105db87ed7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"473720e7-ec8b-481b-bae7-79bc5485f2b1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458472.7364788} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.082447,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7","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":"62e4d5c0-18eb-11ef-97dd-97826c0d9de9"},"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/e4f4fd0b-247f-439d-9c3f-24105db87ed7 200 8ms","method":"GET","requestID":"62e4d5c0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"517e9ca7a93115eaa82a2dcbd28a2b49","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"517e9ca7a93115eaa82a2dcbd28a2b49"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b5093ed1-bb7e-43cc-b0e6-12394a13e4de","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458472.7572217} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.091251,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","object_type":"device","rebac_allow":false,"scope_allow":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":"62e80a10-18eb-11ef-97dd-97826c0d9de9"},"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/f3bc60ba-b651-44a9-b249-31590d746262/signaling 200 8ms","method":"POST","requestID":"62e80a10-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/f3bc60ba-b651-44a9-b249-31590d746262/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5ac8251-4b97-4d72-b563-646d728b608a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458472.766752} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.079857,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","object_type":"device","rebac_allow":false,"scope_allow":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":"62e969a0-18eb-11ef-97dd-97826c0d9de9"},"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/505a9078-1a0b-43ea-a0ca-149d10c533fb/signaling 200 8ms","method":"POST","requestID":"62e969a0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3Mn0.OyZCEagPHFQ2mK9BankUTm1mD6i2AHnTLG_DwCJED_Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"648d0f3f344e7ae6b16a0706d5b3a384","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.703985,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458472,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3Mn0.OyZCEagPHFQ2mK9BankUTm1mD6i2AHnTLG_DwCJED_Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"648d0f3f344e7ae6b16a0706d5b3a384"},"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/4ef54d00-e3bb-4f38-9bf8-09133040a137"} gateway-1 | {"time_local":"23/May/2024:10:01:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"648d0f3f344e7ae6b16a0706d5b3a384"} experiment-1 | {"level":"info","message":"GET /experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137 200 9ms","method":"GET","requestID":"648d0f3f344e7ae6b16a0706d5b3a384","responseTime":9,"status":200,"url":"/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3Mn0.OyZCEagPHFQ2mK9BankUTm1mD6i2AHnTLG_DwCJED_Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e3a8cf76842e1cf5cd99b148dc6a81f6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.683917,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458472,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3Mn0.OyZCEagPHFQ2mK9BankUTm1mD6i2AHnTLG_DwCJED_Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"e3a8cf76842e1cf5cd99b148dc6a81f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.672316,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458472,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3Mn0.OyZCEagPHFQ2mK9BankUTm1mD6i2AHnTLG_DwCJED_Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"62f661f0-18eb-11ef-97dd-97826c0d9de9"},"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/e4f4fd0b-247f-439d-9c3f-24105db87ed7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e4f4fd0b-247f-439d-9c3f-24105db87ed7","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":"156401451a989fb53156d78fc6037848","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262"},{"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/505a9078-1a0b-43ea-a0ca-149d10c533fb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"514cd3605e232e723efd7983e3b2f1a4","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe4f4fd0b-247f-439d-9c3f-24105db87ed7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe4f4fd0b-247f-439d-9c3f-24105db87ed7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"73f3580a-8929-4310-a819-9e349eff900a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458472.8635159} 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/f3bc60ba-b651-44a9-b249-31590d746262"},{"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/505a9078-1a0b-43ea-a0ca-149d10c533fb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7"}}},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"087a2b1b-9bbf-40d0-89d5-422a5f4613d1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458472.8636987} 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":"62f661f0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"e4f4fd0b-247f-439d-9c3f-24105db87ed7","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/e4f4fd0b-247f-439d-9c3f-24105db87ed7 204 37ms","method":"DELETE","requestID":"62f661f0-18eb-11ef-97dd-97826c0d9de9","responseTime":37,"status":204,"url":"/peerconnections/e4f4fd0b-247f-439d-9c3f-24105db87ed7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3bc60ba-b651-44a9-b249-31590d746262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"457ce8f2-6862-4802-a7fd-df800a7085b6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458472.9020674} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.330737,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3bc60ba-b651-44a9-b249-31590d746262","object_type":"device","rebac_allow":false,"scope_allow":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":"62fe0310-18eb-11ef-97dd-97826c0d9de9"},"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/f3bc60ba-b651-44a9-b249-31590d746262/signaling 200 9ms","method":"POST","requestID":"62fe0310-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/f3bc60ba-b651-44a9-b249-31590d746262/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ef54d00-e3bb-4f38-9bf8-09133040a137': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ef54d00-e3bb-4f38-9bf8-09133040a137","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"bc96e85d-a17c-4b89-bbcb-fec01ee19222","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458472.9090767} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1568bc8a-9383-4646-a2fc-20d89d84a0e6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458472.9093785} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3a8cf76842e1cf5cd99b148dc6a81f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F505a9078-1a0b-43ea-a0ca-149d10c533fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc3efa55-2009-4de2-8c79-993cbb9d60fc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458472.911821} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.379517,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"62ff89b0-18eb-11ef-97dd-97826c0d9de9"},"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/505a9078-1a0b-43ea-a0ca-149d10c533fb/signaling 200 9ms","method":"POST","requestID":"62ff89b0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/505a9078-1a0b-43ea-a0ca-149d10c533fb/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"} gateway-1 | {"time_local":"23/May/2024:10:01:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3a8cf76842e1cf5cd99b148dc6a81f6"} experiment-1 | {"level":"info","message":"DELETE /experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137 204 126ms","method":"DELETE","requestID":"e3a8cf76842e1cf5cd99b148dc6a81f6","responseTime":126,"status":204,"url":"/experiments/4ef54d00-e3bb-4f38-9bf8-09133040a137"} gateway-1 | {"time_local":"23/May/2024:10:01:12 +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.521","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"64b4f0772f985d03d0b0ecf2f1237dc6"} gateway-1 | {"time_local":"23/May/2024:10:01: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.513","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0b891a2e4dc2b910b99e21bcfcbc9a85"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"156401451a989fb53156d78fc6037848","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.107","http_referrer":"","http_user_agent":"node-fetch","requestID":"156401451a989fb53156d78fc6037848"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"514cd3605e232e723efd7983e3b2f1a4","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.107","http_referrer":"","http_user_agent":"node-fetch","requestID":"514cd3605e232e723efd7983e3b2f1a4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3Mn0.OyZCEagPHFQ2mK9BankUTm1mD6i2AHnTLG_DwCJED_Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0e04ef0b07e165f0e60ea71d13d2fc2e","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/f3bc60ba-b651-44a9-b249-31590d746262' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.819828,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458472,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3Mn0.OyZCEagPHFQ2mK9BankUTm1mD6i2AHnTLG_DwCJED_Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e04ef0b07e165f0e60ea71d13d2fc2e"},"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/505a9078-1a0b-43ea-a0ca-149d10c533fb' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f7a95356-787c-4cd4-b9e7-3d70cf29b40f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458472.988433} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e04ef0b07e165f0e60ea71d13d2fc2e"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"969965c8-e261-4acb-95a5-ab23a6ccd280","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458472.9936712} 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":"0e04ef0b07e165f0e60ea71d13d2fc2e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"cec4e9d8-76dc-4261-a4d7-6632f2094033","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458473.004601} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c2f772c-f6e8-4302-9a0d-bdda507c96ae","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458473.0049782} 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":"0e04ef0b07e165f0e60ea71d13d2fc2e"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:13.004034121Z"}]},"request_id":"335fe5f4-3631-4fe7-9072-bd49ba97c35a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458473.009947} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e04ef0b07e165f0e60ea71d13d2fc2e"},"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":"0e04ef0b07e165f0e60ea71d13d2fc2e","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:01:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e04ef0b07e165f0e60ea71d13d2fc2e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3M30.hxZPNNex3Kcq8Y9pAqmhtIbnbSa3uhCYXXR0H3nFm8U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6cc3e783adb59ffed024b52e5338b84c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:13Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.765491,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458473,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3M30.hxZPNNex3Kcq8Y9pAqmhtIbnbSa3uhCYXXR0H3nFm8U"} 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":"6cc3e783adb59ffed024b52e5338b84c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"799f83a1-5e49-462f-9ee5-fea04312a516","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458473.0361383} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6cc3e783adb59ffed024b52e5338b84c"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12257350-6435-4ce8-b86f-55451490f0b1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458473.0412395} 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":"6cc3e783adb59ffed024b52e5338b84c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"843f5086-25d9-4edf-bd3b-cbb43ad1fc6d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458473.0532663} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19c334f4-9c59-478c-9b67-907b4011dd5a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458473.0535073} 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":"6cc3e783adb59ffed024b52e5338b84c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:13.053227841Z"}]},"request_id":"4378b34c-f7f1-489d-9ff0-8bd453fe3aa5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458473.0583584} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6cc3e783adb59ffed024b52e5338b84c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6cc3e783adb59ffed024b52e5338b84c"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"6cc3e783adb59ffed024b52e5338b84c","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":"803a9fd9c8572f2bc187e699b7f4c0a2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:01:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/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":"803a9fd9c8572f2bc187e699b7f4c0a2"} device-1 | {"level":"info","message":"OPTIONS /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/websocket 200 1ms","method":"OPTIONS","requestID":"803a9fd9c8572f2bc187e699b7f4c0a2","responseTime":1,"status":200,"url":"/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NH0.xxe-m8ACqU4WejJ2VFON-8LDz7rHNyZeScKU0s-lEAY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"741e8ecbf2f2020019bf9abf8b679891","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1514a0249333fc11821569f6a874b248","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:14Z"} gateway-1 | {"time_local":"23/May/2024:10:01:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1514a0249333fc11821569f6a874b248"} device-1 | {"level":"info","message":"OPTIONS /devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/websocket 200 0ms","method":"OPTIONS","requestID":"1514a0249333fc11821569f6a874b248","responseTime":0,"status":200,"url":"/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/websocket"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.809233,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458474,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NH0.xxe-m8ACqU4WejJ2VFON-8LDz7rHNyZeScKU0s-lEAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"741e8ecbf2f2020019bf9abf8b679891"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NH0.xxe-m8ACqU4WejJ2VFON-8LDz7rHNyZeScKU0s-lEAY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"599f8683236ab252293d76842d8ab9f0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659335,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458474,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NH0.xxe-m8ACqU4WejJ2VFON-8LDz7rHNyZeScKU0s-lEAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"599f8683236ab252293d76842d8ab9f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/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":"741e8ecbf2f2020019bf9abf8b679891"} device-1 | {"level":"info","message":"POST /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/websocket 200 33ms","method":"POST","requestID":"741e8ecbf2f2020019bf9abf8b679891","responseTime":33,"status":200,"url":"/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/websocket 200 37ms","method":"POST","requestID":"599f8683236ab252293d76842d8ab9f0","responseTime":37,"status":200,"url":"/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/websocket"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"599f8683236ab252293d76842d8ab9f0"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c765ba031bbdcf7e951f28aac96faea0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72499,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c765ba031bbdcf7e951f28aac96faea0"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:13.004034121Z"}]},"request_id":"292786d6-5925-43f3-87c3-4f9b8adcdb70","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.0528862} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c765ba031bbdcf7e951f28aac96faea0"},"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/48ea05ef-1df5-425c-b59d-36e053d50bdb? 200 10ms","method":"GET","requestID":"c765ba031bbdcf7e951f28aac96faea0","responseTime":10,"status":200,"url":"/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb?"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/48ea05ef-1df5-425c-b59d-36e053d50bdb? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c765ba031bbdcf7e951f28aac96faea0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"214e2207f105d0a715d24fc6a2e6ce24","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655418,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"214e2207f105d0a715d24fc6a2e6ce24"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:13.053227841Z"}]},"request_id":"b8156a92-ea9f-46ca-94c1-c49322aa1456","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.0675256} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"214e2207f105d0a715d24fc6a2e6ce24"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"214e2207f105d0a715d24fc6a2e6ce24"} device-1 | {"level":"info","message":"GET /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac? 200 10ms","method":"GET","requestID":"214e2207f105d0a715d24fc6a2e6ce24","responseTime":10,"status":200,"url":"/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"18c68ffd323c9a6e1df67e1a45465657","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:60464","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.674929,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} 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":"18c68ffd323c9a6e1df67e1a45465657"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"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:60464","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678185,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"644e77e0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685143,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"644e9ef0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:13.004034121Z"}]},"request_id":"01091a61-ba3d-43b3-857d-766e9c159af2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.1101031} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"644e77e0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:13.053227841Z"}]},"request_id":"b3a9a7c6-def6-4550-a5e7-5835b7e4fd59","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.1108263} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"644e9ef0-18eb-11ef-97dd-97826c0d9de9"},"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/48ea05ef-1df5-425c-b59d-36e053d50bdb? 200 12ms","method":"GET","requestID":"644e77e0-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac? 200 12ms","method":"GET","requestID":"644e9ef0-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"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/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922065,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6455a3d0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672512,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6455cae0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c001f5a1-e762-4c40-b427-06abd5503855","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.159038} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.466757,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:13.004034121Z"}]},"request_id":"26be8132-3cee-415f-a901-b24d6efaece8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.1600401} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","object_type":"device","rebac_allow":false,"scope_allow":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":"64561900-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6455a3d0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:13.053227841Z"}]},"request_id":"31b3e3de-0ba3-4d4a-a929-10148e85a52c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.161372} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6455cae0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5c501969-cb6a-4e63-9d86-6cc94ff42789#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5c501969-cb6a-4e63-9d86-6cc94ff42789","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"85003247-4c4f-4d5c-a15c-cf8ea9a46942","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.1675532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"790712d2-ad4e-4a55-b4ee-ae06d3c420ec","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.1677475} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/signaling 200 17ms","method":"POST","requestID":"64561900-18eb-11ef-97dd-97826c0d9de9","responseTime":17,"status":200,"url":"/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18c68ffd323c9a6e1df67e1a45465657"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/48ea05ef-1df5-425c-b59d-36e053d50bdb? 200 22ms","method":"GET","requestID":"6455a3d0-18eb-11ef-97dd-97826c0d9de9","responseTime":22,"status":200,"url":"/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac? 200 23ms","method":"GET","requestID":"6455cae0-18eb-11ef-97dd-97826c0d9de9","responseTime":23,"status":200,"url":"/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0acd3efd-9794-471e-bfcb-facf4d561d90","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.177112} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.716727,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","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/5c501969-cb6a-4e63-9d86-6cc94ff42789","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} 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":"64592640-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.109","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18c68ffd323c9a6e1df67e1a45465657"} experiment-1 | {"level":"info","message":"POST /experiments? 201 105ms","method":"POST","requestID":"18c68ffd323c9a6e1df67e1a45465657","responseTime":105,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/signaling 200 12ms","method":"POST","requestID":"64592640-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50405dae-3f4c-4ab3-be68-2280d41dc2bc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.1859553} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.089377,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","object_type":"device","rebac_allow":false,"scope_allow":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":"645a37b0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"108ff3ce03e062f7d8e8a2533f7e2173","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/signaling 200 12ms","method":"POST","requestID":"645a37b0-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.860104,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"108ff3ce03e062f7d8e8a2533f7e2173"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f664006b-d1d1-46fd-b7d4-ae5686e45556","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.198596} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.311046,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","object_type":"device","rebac_allow":false,"scope_allow":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":"645c5a90-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:13.004034121Z"}]},"request_id":"1175f494-8fbb-48bb-b1e7-ca6db56489cc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.2012668} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"108ff3ce03e062f7d8e8a2533f7e2173"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/signaling 200 13ms","method":"POST","requestID":"645c5a90-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/48ea05ef-1df5-425c-b59d-36e053d50bdb? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"108ff3ce03e062f7d8e8a2533f7e2173"} device-1 | {"level":"info","message":"GET /devices/48ea05ef-1df5-425c-b59d-36e053d50bdb? 200 15ms","method":"GET","requestID":"108ff3ce03e062f7d8e8a2533f7e2173","responseTime":15,"status":200,"url":"/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"a9f5d5a6-521f-4824-881e-e5e5c63c4a43"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"6c18d333-4474-4b27-91eb-d5c2bdd0aa47"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3245c4a5-54c1-4284-9db8-add820f3aafe"}]},"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/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.743715,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs","level":"info","message":"auth send jwt"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a811ba0d95bb30264366a3a61f0fbb05","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"645ecb90-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71657,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a811ba0d95bb30264366a3a61f0fbb05"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"ef184ca9-ca1a-4920-81bb-378a6ada0b4c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.2218208} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14693225-e9ea-420c-8d24-e7a129c15af3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.2222025} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:13.053227841Z"}]},"request_id":"af351be9-34b9-4637-a7ba-4a2d356e8855","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.2226791} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"645ecb90-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a811ba0d95bb30264366a3a61f0fbb05"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a811ba0d95bb30264366a3a61f0fbb05"} device-1 | {"level":"info","message":"GET /devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac? 200 13ms","method":"GET","requestID":"a811ba0d95bb30264366a3a61f0fbb05","responseTime":13,"status":200,"url":"/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac?"} 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/49efc597-0f2c-4b6a-bf29-e321a1692958'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 42ms","method":"POST","requestID":"645ecb90-18eb-11ef-97dd-97826c0d9de9","responseTime":42,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7be440a2-f768-4bd8-a3f0-ee82303b3efd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.2816358} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.103841,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","object_type":"device","rebac_allow":false,"scope_allow":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":"64692bd0-18eb-11ef-97dd-97826c0d9de9"},"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/48ea05ef-1df5-425c-b59d-36e053d50bdb/signaling 200 9ms","method":"POST","requestID":"64692bd0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf0b1f79-b88c-42c5-9d89-7f2c6bf906a3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.2919977} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.135013,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","object_type":"device","rebac_allow":false,"scope_allow":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":"646ad980-18eb-11ef-97dd-97826c0d9de9"},"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/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/signaling 200 8ms","method":"POST","requestID":"646ad980-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49efc597-0f2c-4b6a-bf29-e321a1692958","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":"31a2172a6434523247a24f34dde148ec","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/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"31a2172a6434523247a24f34dde148ec","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"31a2172a6434523247a24f34dde148ec"} device-1 | {"data":{"peerconnection":"49efc597-0f2c-4b6a-bf29-e321a1692958","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"49efc597-0f2c-4b6a-bf29-e321a1692958","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/49efc597-0f2c-4b6a-bf29-e321a1692958' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49efc597-0f2c-4b6a-bf29-e321a1692958","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":"29ba6598ad5db84688965cd354d4980d","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/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49efc597-0f2c-4b6a-bf29-e321a1692958","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98585b0f-f032-45e8-8c21-1781aa0a8151","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.3836558} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.163504,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958","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":"6478e340-18eb-11ef-97dd-97826c0d9de9"},"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/49efc597-0f2c-4b6a-bf29-e321a1692958 200 7ms","method":"GET","requestID":"6478e340-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":200,"url":"/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"29ba6598ad5db84688965cd354d4980d","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"29ba6598ad5db84688965cd354d4980d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db6aa2da-8b2b-4096-a29b-9bd229fa30e3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.404706} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.228258,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","object_type":"device","rebac_allow":false,"scope_allow":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":"647c1790-18eb-11ef-97dd-97826c0d9de9"},"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/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/signaling 200 8ms","method":"POST","requestID":"647c1790-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"054aefc9-c181-4765-9cd8-10f056f7e3d1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.4148836} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.166585,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","object_type":"device","rebac_allow":false,"scope_allow":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":"647d7720-18eb-11ef-97dd-97826c0d9de9"},"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/48ea05ef-1df5-425c-b59d-36e053d50bdb/signaling 200 9ms","method":"POST","requestID":"647d7720-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ec6478d3612648d79adb045b9011f617","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.690555,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} 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":"ec6478d3612648d79adb045b9011f617"},"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/5c501969-cb6a-4e63-9d86-6cc94ff42789"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec6478d3612648d79adb045b9011f617"} experiment-1 | {"level":"info","message":"GET /experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789 200 8ms","method":"GET","requestID":"ec6478d3612648d79adb045b9011f617","responseTime":8,"status":200,"url":"/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6a4d08cd69d6073fec77bbbc845b52f7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.68428,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} 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":"6a4d08cd69d6073fec77bbbc845b52f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.684468,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} 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":"6485b480-18eb-11ef-97dd-97826c0d9de9"},"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/49efc597-0f2c-4b6a-bf29-e321a1692958' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49efc597-0f2c-4b6a-bf29-e321a1692958","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":"69d581e703defdc815531f732236e420","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49efc597-0f2c-4b6a-bf29-e321a1692958': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49efc597-0f2c-4b6a-bf29-e321a1692958","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"c03564c0-e664-4eab-befe-72782ebfe32f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.4821947} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b299312b5dac5081429275af3322029a","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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebb0b09a-cedc-4116-b73b-94113868e1b1","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.4825115} 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/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6485b480-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"data":{"peerconnection":"49efc597-0f2c-4b6a-bf29-e321a1692958","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/49efc597-0f2c-4b6a-bf29-e321a1692958 204 36ms","method":"DELETE","requestID":"6485b480-18eb-11ef-97dd-97826c0d9de9","responseTime":36,"status":204,"url":"/peerconnections/49efc597-0f2c-4b6a-bf29-e321a1692958"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07c66d36-59f6-41e4-820d-d0cef1a9e25d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.5187967} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.902256,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"648d55a0-18eb-11ef-97dd-97826c0d9de9"},"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/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/signaling 200 9ms","method":"POST","requestID":"648d55a0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac/signaling"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5c501969-cb6a-4e63-9d86-6cc94ff42789': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5c501969-cb6a-4e63-9d86-6cc94ff42789","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"3d907a5f-a80f-4116-b12c-252e7f50b5d6","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.525034} 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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c3f3a95-e0ec-42dd-8fed-cc0f6e791402","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.5252738} 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":"6a4d08cd69d6073fec77bbbc845b52f7"},"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:60464","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48ea05ef-1df5-425c-b59d-36e053d50bdb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47cb5cae-c4b1-4c74-b0e9-f93ed092ef27","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.5300372} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.63579,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb","object_type":"device","rebac_allow":false,"scope_allow":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":"648f0350-18eb-11ef-97dd-97826c0d9de9"},"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/48ea05ef-1df5-425c-b59d-36e053d50bdb/signaling 200 9ms","method":"POST","requestID":"648f0350-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a4d08cd69d6073fec77bbbc845b52f7"} experiment-1 | {"level":"info","message":"DELETE /experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789 204 124ms","method":"DELETE","requestID":"6a4d08cd69d6073fec77bbbc845b52f7","responseTime":124,"status":204,"url":"/experiments/5c501969-cb6a-4e63-9d86-6cc94ff42789"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 101ms","method":"POST","requestID":"69d581e703defdc815531f732236e420","responseTime":101,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01: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.104","http_referrer":"","http_user_agent":"node-fetch","requestID":"69d581e703defdc815531f732236e420"} gateway-1 | {"time_local":"23/May/2024:10:01: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.105","http_referrer":"","http_user_agent":"node-fetch","requestID":"b299312b5dac5081429275af3322029a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 101ms","method":"POST","requestID":"b299312b5dac5081429275af3322029a","responseTime":101,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9638d9ac88736645f26d5217b7da7c51","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2645","request_time":"0.564","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7968346309c8c4582ec3faa77949ce82"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2645","request_time":"0.577","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cb8e3290b38d75fdbf1036fa55c1ef26"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.973175,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/48ea05ef-1df5-425c-b59d-36e053d50bdb' closed"} 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":"9638d9ac88736645f26d5217b7da7c51"},"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/1a3c69c0-11de-43a1-9b5e-0c04b2bcb5ac' 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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F641d7ec4-d190-4637-9a17-cfc4d5b7d3be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"60d953eb-38c0-44c9-8f03-f188f46cf8a5","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.605163} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9638d9ac88736645f26d5217b7da7c51"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3f1846e-02a8-4928-88a6-b99ef766b24d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.6093879} 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":"9638d9ac88736645f26d5217b7da7c51"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F641d7ec4-d190-4637-9a17-cfc4d5b7d3be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"0b616822-f642-4353-be96-3eaed3bbb18c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.6178498} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de0049a1-7e08-454c-a9f2-6ccbe4550c41","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.618028} 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":"9638d9ac88736645f26d5217b7da7c51"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F641d7ec4-d190-4637-9a17-cfc4d5b7d3be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F641d7ec4-d190-4637-9a17-cfc4d5b7d3be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:15.617825285Z"}]},"request_id":"09c3c460-3bdf-4a68-834c-5dc400c5c9cc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.6215117} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9638d9ac88736645f26d5217b7da7c51"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"360","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9638d9ac88736645f26d5217b7da7c51"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"9638d9ac88736645f26d5217b7da7c51","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"715bfa7a9818024151eda6898f1d1c96","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.707115,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458475,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3NX0.4q7l9_4qYm1js-IAMrN6Woy0ffd3mbCHotQgSG6tycs"} 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":"715bfa7a9818024151eda6898f1d1c96"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0d5287ee-3f0e-43d8-8ca6-b6c76132272e","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.6416728} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"715bfa7a9818024151eda6898f1d1c96"},"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:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa2cf8c4-74c8-4f27-9174-ac7bb5720d35","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.645788} 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":"715bfa7a9818024151eda6898f1d1c96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"41236ba7-9126-44ab-9061-387ab94c18ac","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.656142} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f3df553-278e-4bc0-887e-45225d85af25","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.6564543} 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":"715bfa7a9818024151eda6898f1d1c96"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:15.656117789Z"}]},"request_id":"4a6f5a20-d4e0-4423-ac58-ee7416c174b9","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458475.6597443} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"715bfa7a9818024151eda6898f1d1c96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 34ms","method":"POST","requestID":"715bfa7a9818024151eda6898f1d1c96","responseTime":34,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:01:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"715bfa7a9818024151eda6898f1d1c96"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cb44fa7b0d6af9bc85e57c0eb3011593","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:01:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36/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":"cb44fa7b0d6af9bc85e57c0eb3011593"} device-1 | {"level":"info","message":"OPTIONS /devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36/websocket 200 1ms","method":"OPTIONS","requestID":"cb44fa7b0d6af9bc85e57c0eb3011593","responseTime":1,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"81cd220b21d96c2c2ab9d1c98c8546fe","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659538,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458477,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE"} 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":"81cd220b21d96c2c2ab9d1c98c8546fe"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36/websocket 200 24ms","method":"POST","requestID":"81cd220b21d96c2c2ab9d1c98c8546fe","responseTime":24,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36/websocket"} gateway-1 | {"time_local":"23/May/2024:10:01:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36/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":"81cd220b21d96c2c2ab9d1c98c8546fe"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"29fd07610a4ff9915790b8596d6fd1dd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680824,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458477,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29fd07610a4ff9915790b8596d6fd1dd"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:15.656117789Z"}]},"request_id":"c0fcce44-cc9d-4bb9-9a15-3fb8307edf09","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458477.6279614} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29fd07610a4ff9915790b8596d6fd1dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29fd07610a4ff9915790b8596d6fd1dd"} device-1 | {"level":"info","message":"GET /devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36? 200 10ms","method":"GET","requestID":"29fd07610a4ff9915790b8596d6fd1dd","responseTime":10,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d43fdd3a4dcbad30dd3a9aab24fd219b","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:60464","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.676347,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458477,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE"} 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":"d43fdd3a4dcbad30dd3a9aab24fd219b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"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:60464","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685387,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/641d7ec4-d190-4637-9a17-cfc4d5b7d3be","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/641d7ec4-d190-4637-9a17-cfc4d5b7d3be","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458477,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65d67770-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752967,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458477,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65d69e80-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F641d7ec4-d190-4637-9a17-cfc4d5b7d3be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F641d7ec4-d190-4637-9a17-cfc4d5b7d3be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:15.617825285Z"}]},"request_id":"5ae67e64-febb-41e5-be1d-348e68f4b830","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458477.6793413} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65d67770-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:15.656117789Z"}]},"request_id":"b39d48cf-3004-4b65-be84-adf4ebb04e96","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458477.6809077} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65d69e80-18eb-11ef-97dd-97826c0d9de9"},"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/641d7ec4-d190-4637-9a17-cfc4d5b7d3be? 200 14ms","method":"GET","requestID":"65d67770-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/641d7ec4-d190-4637-9a17-cfc4d5b7d3be?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36? 200 14ms","method":"GET","requestID":"65d69e80-18eb-11ef-97dd-97826c0d9de9","responseTime":14,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Attempting to instantiate devices for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678512,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/641d7ec4-d190-4637-9a17-cfc4d5b7d3be","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/641d7ec4-d190-4637-9a17-cfc4d5b7d3be","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458477,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"65dabd30-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"6121bfb5-85ad-44b1-a06c-db5a0297045b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458477.7263823} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e39a201-c61d-4ae0-8050-59f3d76c573d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458477.7267623} 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":"65dabd30-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"POST /token 201 12ms","method":"POST","requestID":"65dfed50-18eb-11ef-a903-ebe79cbe43c1","responseTime":12,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/641d7ec4-d190-4637-9a17-cfc4d5b7d3be?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 50ms","method":"POST","requestID":"65dabd30-18eb-11ef-97dd-97826c0d9de9","responseTime":50,"status":201,"url":"/devices/641d7ec4-d190-4637-9a17-cfc4d5b7d3be?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"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:60464","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:17Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925464,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:17Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458477,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65e7dc90-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"client_addr":"127.0.0.1:49990","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871723,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458477,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65e82ab0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10711ff5-29d8-4d35-adb5-0fadf909c57c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458477.7939558} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.416688,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","object_type":"device","rebac_allow":false,"scope_allow":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":"65e878d0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:17.726343127Z"}]},"request_id":"cddae7e2-6a39-40cd-ab55-40abd2465068","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458477.7959907} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:15.656117789Z"}]},"request_id":"6e3611d9-3b33-4aad-a65d-4268ff4c9e2f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458477.7970822} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65e7dc90-18eb-11ef-97dd-97826c0d9de9"},"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":"65e82ab0-18eb-11ef-97dd-97826c0d9de9"},"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/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61? 200 17ms","method":"GET","requestID":"65e7dc90-18eb-11ef-97dd-97826c0d9de9","responseTime":17,"status":200,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61?"} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61\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/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"65e878d0-18eb-11ef-97dd-97826c0d9de9"} device-1 | {"level":"info","message":"POST /devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/signaling 404 15ms","method":"POST","requestID":"65e878d0-18eb-11ef-97dd-97826c0d9de9","responseTime":15,"status":404,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16bca058-e2e7-4e1e-9bf1-41fdca2daa48#owner@http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16bca058-e2e7-4e1e-9bf1-41fdca2daa48","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"93b56612-f568-4c1c-993e-f832918ded1b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458477.8044193} device-1 | {"level":"info","message":"GET /devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36? 200 18ms","method":"GET","requestID":"65e82ab0-18eb-11ef-97dd-97826c0d9de9","responseTime":18,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36?"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61"},"status":404}},"level":"error","message":"Could not send status-update message"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da25c944-bae8-443f-a180-00b1e4909c81","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458477.8047662} 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":"d43fdd3a4dcbad30dd3a9aab24fd219b"},"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:60464","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:17Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58def384-b7c0-499e-849e-d7473ed88d7c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458477.8117983} experiment-1 | {"data":{"experiment":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48","user":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.278022,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:17Z"} gateway-1 | {"time_local":"23/May/2024:10:01:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d43fdd3a4dcbad30dd3a9aab24fd219b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"d43fdd3a4dcbad30dd3a9aab24fd219b","responseTime":176,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65eb10e0-18eb-11ef-97dd-97826c0d9de9"},"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/d17148f5-e73a-469f-9f83-6b1fa9d71a36/signaling 200 9ms","method":"POST","requestID":"65eb10e0-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9d7e96421507d87d3b9301c6f96893ec","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/websocket 200 1ms","method":"OPTIONS","requestID":"9d7e96421507d87d3b9301c6f96893ec","responseTime":1,"status":200,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/websocket"} gateway-1 | {"time_local":"23/May/2024:10:01:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/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":"9d7e96421507d87d3b9301c6f96893ec"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6IjlmYnZqQ0hiOXh4bElnYUpFd2dXdGFiV0JhY2tOSDlhanExSFdRa2h6UU9wZkVZTmh5aDBuMGZwZWpzSkUzNzhWMVdVWGdhV0Fhemg0VTZOaFFkcFJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3OX0.W1JI7-Phl4D4FClaWOGmhFPAyT5iyeHZi4p3mizTijE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"598d816994c23f21ce6eb08923042742","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:19Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655405,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","object_type":"device","payload":{"admin":true,"edgeToken":"9fbvjCHb9xxlIgaJEwgWtabWBackNH9ajq1HWQkhzQOpfEYNhyh0n0fpejsJE378V1WUXgaWAazh4U6NhQdpRQ","iat":1716458479,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6IjlmYnZqQ0hiOXh4bElnYUpFd2dXdGFiV0JhY2tOSDlhanExSFdRa2h6UU9wZkVZTmh5aDBuMGZwZWpzSkUzNzhWMVdVWGdhV0Fhemg0VTZOaFFkcFJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3OX0.W1JI7-Phl4D4FClaWOGmhFPAyT5iyeHZi4p3mizTijE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"598d816994c23f21ce6eb08923042742"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"598d816994c23f21ce6eb08923042742"} device-1 | {"level":"info","message":"POST /devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/websocket 200 21ms","method":"POST","requestID":"598d816994c23f21ce6eb08923042742","responseTime":21,"status":200,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61' 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":"d4b660a33b9ccc679467ad430a3bd135","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"bookingEndpoint":"http://localhost/booking","connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3OX0.j2UCyuXN86Cqxkl0b9Bh6dCKmIB_qeQbbjzOxx8w7TY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ddf04c0080b359dd33c4a10c88ea32c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:19Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.797818,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458479,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3OX0.j2UCyuXN86Cqxkl0b9Bh6dCKmIB_qeQbbjzOxx8w7TY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ddf04c0080b359dd33c4a10c88ea32c"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:17.726343127Z"}]},"request_id":"4008f171-c00d-41ab-9885-b661b87d0615","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458479.755647} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ddf04c0080b359dd33c4a10c88ea32c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 16ms","method":"POST","requestID":"d4b660a33b9ccc679467ad430a3bd135","responseTime":16,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch","requestID":"d4b660a33b9ccc679467ad430a3bd135"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ddf04c0080b359dd33c4a10c88ea32c"} device-1 | {"level":"info","message":"GET /devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61? 200 16ms","method":"GET","requestID":"9ddf04c0080b359dd33c4a10c88ea32c","responseTime":16,"status":200,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3OX0.j2UCyuXN86Cqxkl0b9Bh6dCKmIB_qeQbbjzOxx8w7TY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a26aa296ff82615ff35fd4943b885dfd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:19Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.912234,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458479,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3OX0.j2UCyuXN86Cqxkl0b9Bh6dCKmIB_qeQbbjzOxx8w7TY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a26aa296ff82615ff35fd4943b885dfd"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:15.656117789Z"}]},"request_id":"978e2dbb-1d1f-4291-aec4-44160859cd4f","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458479.7746046} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a26aa296ff82615ff35fd4943b885dfd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:01:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a26aa296ff82615ff35fd4943b885dfd"} device-1 | {"level":"info","message":"GET /devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36? 200 10ms","method":"GET","requestID":"a26aa296ff82615ff35fd4943b885dfd","responseTime":10,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668289,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458477,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68e67690-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47264","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"client_addr":"127.0.0.1:47264","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.124566,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458477,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE"} 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":"68e69da0-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:17.726343127Z"}]},"request_id":"ebb788fe-074c-4fd0-8060-5a6726c6a8bc","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458482.817206} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68e67690-18eb-11ef-97dd-97826c0d9de9"},"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:50978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"},"timestamp":"2024-05-23T10:01:15.656117789Z"}]},"request_id":"edb138da-666b-4372-add8-9b5520078d3d","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458482.820367} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61? 200 12ms","method":"GET","requestID":"68e67690-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68e69da0-18eb-11ef-97dd-97826c0d9de9"},"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/d17148f5-e73a-469f-9f83-6b1fa9d71a36? 200 13ms","method":"GET","requestID":"68e69da0-18eb-11ef-97dd-97826c0d9de9","responseTime":13,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94bf9549-ab0f-41bd-be4e-ccd056796b73","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458482.828907} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.321085,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","object_type":"device","rebac_allow":false,"scope_allow":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":"68e8e790-18eb-11ef-97dd-97826c0d9de9"},"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/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/signaling 200 7ms","method":"POST","requestID":"68e8e790-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":200,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40168a1a-d2f6-4fee-acf8-8bcae5ecb264","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458482.838314} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.213772,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","object_type":"device","rebac_allow":false,"scope_allow":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":"68ea4720-18eb-11ef-97dd-97826c0d9de9"},"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/d17148f5-e73a-469f-9f83-6b1fa9d71a36/signaling 200 8ms","method":"POST","requestID":"68ea4720-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c6d21c67-7048-4723-8687-123faa34bb4e"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"4b6d3cab-1359-4e16-bcec-8e55fc94ec0e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a855136b-adef-4b55-b848-2efdee5f3bee"}]},"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/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.665884,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458477,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ3N30.qFjt1kr7TQ_Ko1SFaJissERESadwYV1kq4gOaLJrUJE"} 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":"68ebcdc0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","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%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]}},"raw_response":{},"request_id":"aa18ccfa-dfcc-4170-bc8d-9cc21f72adc2","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458482.8541439} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bafb432a-3a96-43d0-a3f6-fdfac6f6d870","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458482.8545024} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68ebcdc0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 42ms","method":"POST","requestID":"68ebcdc0-18eb-11ef-97dd-97826c0d9de9","responseTime":42,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7461acb8-7b18-4949-b983-cc3311d3a650","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458482.9203782} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668142,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68f6ca40-18eb-11ef-97dd-97826c0d9de9"},"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/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/signaling 200 10ms","method":"POST","requestID":"68f6ca40-18eb-11ef-97dd-97826c0d9de9","responseTime":10,"status":200,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7445ca23-19e3-4962-8932-2da9ffc54e3b","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458482.9364355} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.875609,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68f91430-18eb-11ef-97dd-97826c0d9de9"},"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/d17148f5-e73a-469f-9f83-6b1fa9d71a36/signaling 200 12ms","method":"POST","requestID":"68f91430-18eb-11ef-97dd-97826c0d9de9","responseTime":12,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"39f37aa8-a1a1-4d1c-90ec-2a38e49f31db","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":"efb34898c100778312c99949e0d60bc5","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/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"efb34898c100778312c99949e0d60bc5","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"efb34898c100778312c99949e0d60bc5"} device-1 | {"data":{"peerconnection":"39f37aa8-a1a1-4d1c-90ec-2a38e49f31db","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"39f37aa8-a1a1-4d1c-90ec-2a38e49f31db","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/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"39f37aa8-a1a1-4d1c-90ec-2a38e49f31db","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":"f5aa2af9bb0fff531e6b11dbcb80e43b","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/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F39f37aa8-a1a1-4d1c-90ec-2a38e49f31db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5e45877-7e9c-414c-917f-a00641cd6cb8","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458483.0169075} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.122124,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db","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":"69057040-18eb-11ef-97dd-97826c0d9de9"},"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/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db 200 9ms","method":"GET","requestID":"69057040-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"f5aa2af9bb0fff531e6b11dbcb80e43b","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"f5aa2af9bb0fff531e6b11dbcb80e43b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b3d26fe-4675-4328-8b38-e75a284c0195","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458483.0397174} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.219451,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6908f2b0-18eb-11ef-97dd-97826c0d9de9"},"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/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/signaling 200 8ms","method":"POST","requestID":"6908f2b0-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20b0fe45-bee8-4a05-acca-c48c7c525d9a","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458483.0495083} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.177073,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"690a7950-18eb-11ef-97dd-97826c0d9de9"},"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/d17148f5-e73a-469f-9f83-6b1fa9d71a36/signaling 200 8ms","method":"POST","requestID":"690a7950-18eb-11ef-97dd-97826c0d9de9","responseTime":8,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ4M30.pRsyyUZx3oPozDJz41hN-q7O3IAorCZ7JINUTv8HKHA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"60f3684078da6e9cfbce4002a568e0d2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.678585,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458483,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ4M30.pRsyyUZx3oPozDJz41hN-q7O3IAorCZ7JINUTv8HKHA"} 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":"60f3684078da6e9cfbce4002a568e0d2"},"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/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"} gateway-1 | {"time_local":"23/May/2024:10:01:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60f3684078da6e9cfbce4002a568e0d2"} experiment-1 | {"level":"info","message":"GET /experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48 200 8ms","method":"GET","requestID":"60f3684078da6e9cfbce4002a568e0d2","responseTime":8,"status":200,"url":"/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ4M30.pRsyyUZx3oPozDJz41hN-q7O3IAorCZ7JINUTv8HKHA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"39fa00817c6fbc6f2a0466503267628a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.712142,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"experiment:http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48","object_type":"experiment","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458483,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ4M30.pRsyyUZx3oPozDJz41hN-q7O3IAorCZ7JINUTv8HKHA"} 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":"39fa00817c6fbc6f2a0466503267628a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.74403,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"peerconnection:http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458483,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ4M30.pRsyyUZx3oPozDJz41hN-q7O3IAorCZ7JINUTv8HKHA"} 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":"69126890-18eb-11ef-97dd-97826c0d9de9"},"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/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"39f37aa8-a1a1-4d1c-90ec-2a38e49f31db","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F39f37aa8-a1a1-4d1c-90ec-2a38e49f31db': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F39f37aa8-a1a1-4d1c-90ec-2a38e49f31db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"e835475c-f33c-4a8d-99b7-0371e1145f52","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458483.1111908} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ade9b6fe-e394-4993-8962-0db18b61f0d3","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458483.111422} 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":"69126890-18eb-11ef-97dd-97826c0d9de9"},"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 2ms","method":"GET","requestID":"81c071284ea94a9e334e05871825692f","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4a29594cf4bdb2114defb08c8030d776","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/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db 204 43ms","method":"DELETE","requestID":"69126890-18eb-11ef-97dd-97826c0d9de9","responseTime":43,"status":204,"url":"/peerconnections/39f37aa8-a1a1-4d1c-90ec-2a38e49f31db"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61'"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.795068,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","object_type":"device","payload":{"admin":true,"edgeToken":"sf3i4jxkcdw9gHzl7SAcVyv_L-khmmWrZ5ceH7PDZLZq-QAn5D6YIODAjVFDiCowNd1HU2dW2uTsY7HW6vVGsQ","iat":1716458483,"sub":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2","subject_alt":"http://localhost/users/c3fc0747-f24f-4e44-9fb4-717805a121e2"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2MzZmMwNzQ3LWYyNGYtNGU0NC05ZmI0LTcxNzgwNWExMjFlMiIsImVkZ2VUb2tlbiI6InNmM2k0anhrY2R3OWdIemw3U0FjVnl2X0wta2htbVdyWjVjZUg3UERaTFpxLVFBbjVENllJT0RBalZGRGlDb3dOZDFIVTJkVzJ1VHNZN0hXNnZWR3NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODQ4M30.pRsyyUZx3oPozDJz41hN-q7O3IAorCZ7JINUTv8HKHA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"69191f50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"5092cb99-ae1e-4764-9d55-2445aec3fbd7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458483.1520429} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6e411d9-29a5-45c0-ada7-dcb9b5ca7117","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458483.1523058} 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":"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":"69191f50-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"DELETE /devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61 204 20ms","method":"DELETE","requestID":"69191f50-18eb-11ef-97dd-97826c0d9de9","responseTime":20,"status":204,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f75ec137-df9a-436f-b8c2-49cae799ccbd","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458483.1829047} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.255519,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61","object_type":"device","rebac_allow":false,"scope_allow":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":"691eebb0-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"691eebb0-18eb-11ef-97dd-97826c0d9de9"} device-1 | {"level":"info","message":"POST /devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/signaling 404 7ms","method":"POST","requestID":"691eebb0-18eb-11ef-97dd-97826c0d9de9","responseTime":7,"status":404,"url":"/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61/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:60464","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16bca058-e2e7-4e1e-9bf1-41fdca2daa48': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16bca058-e2e7-4e1e-9bf1-41fdca2daa48","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fc3fc0747-f24f-4e44-9fb4-717805a121e2"}]},"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","writes":null},"raw_response":{},"request_id":"5c177e38-1755-475d-a7ad-cc8488d38bd7","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458483.192565} authorization-1 | {"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","contextual_tuples":null,"store_id":"01HYJE801DQMFAVWBA5QZ17MQS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd17148f5-e73a-469f-9f83-6b1fa9d71a36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f52856b2-9ae0-48cb-aa80-3ececfc5964c","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458483.1926887} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50978","raw_request":{"id":"01HYJE804GKKBM5RWJJERZXYYW","store_id":"01HYJE801DQMFAVWBA5QZ17MQS"},"raw_response":{"authorization_model":{"id":"01HYJE804GKKBM5RWJJERZXYYW","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37187571-3903-4c93-9879-2f71e682ee71","store_id":"01HYJE801DQMFAVWBA5QZ17MQS","subsystem":"openfga","timestamp":1716458483.1928513} authorization-1 | {"client_addr":"127.0.0.1:60464","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.256862,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:01:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","openfga":{"authorization_model_id":"01HYJE804GKKBM5RWJJERZXYYW","store":"01HYJE801DQMFAVWBA5QZ17MQS"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36","object_type":"device","rebac_allow":false,"scope_allow":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":"69207250-18eb-11ef-97dd-97826c0d9de9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} 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":"39fa00817c6fbc6f2a0466503267628a"},"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/d17148f5-e73a-469f-9f83-6b1fa9d71a36/signaling 200 9ms","method":"POST","requestID":"69207250-18eb-11ef-97dd-97826c0d9de9","responseTime":9,"status":200,"url":"/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"} gateway-1 | {"time_local":"23/May/2024:10:01:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39fa00817c6fbc6f2a0466503267628a"} experiment-1 | {"level":"info","message":"DELETE /experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48 204 154ms","method":"DELETE","requestID":"39fa00817c6fbc6f2a0466503267628a","responseTime":154,"status":204,"url":"/experiments/16bca058-e2e7-4e1e-9bf1-41fdca2daa48"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"81c071284ea94a9e334e05871825692f","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"81c071284ea94a9e334e05871825692f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"4a29594cf4bdb2114defb08c8030d776","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"4a29594cf4bdb2114defb08c8030d776"} gateway-1 | {"time_local":"23/May/2024:10:01:23 +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.647","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f71e582a7dd99fa44dad60d5d02aa288"} gateway-1 | {"time_local":"23/May/2024:10:01:23 +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.529","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bd1bbbb79c4b254d604df50a6e87d6ba"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d17148f5-e73a-469f-9f83-6b1fa9d71a36' closed"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1111e7679d46a796822238e41f98018f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"bookingEndpoint":"http://localhost/booking","connected":false,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/0f35fe7b-9078-4ea7-8b89-fc4f54d4fe61"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"1111e7679d46a796822238e41f98018f","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:01:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.005","http_referrer":"","http_user_agent":"node-fetch","requestID":"1111e7679d46a796822238e41f98018f"} authorization-1 | {"level":"info","msg":"Shutting down...","subsystem":"opa","time":"2024-05-23T10:01:28Z"} authorization-1 | {"level":"info","msg":"Server shutdown.","subsystem":"opa","time":"2024-05-23T10:01:28Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"attempting to shutdown gracefully","subsystem":"openfga","timestamp":1716458488.3928993} authentication-1 exited with code 0 experiment-1 exited with code 0 federation-1 exited with code 0 device-1 exited with code 0 authorization-1 exited with code 0 gateway-1 exited with code 0